摘要:
常量和变量 let 常量,只有一次赋值机会,不能够被修改 var 变量,可以被修改 swift会自动推导数据类型 整数的默认类型是int 小数的默认类型是Double 不同类型之间不能够直接计算,OC可以,因为有隐式转换 类型转换:调用构造函数转换类型 Swift要求运算符对称 let 和 var 阅读全文
摘要:
Swift 版本号 $ xcrun swift version(查看当前系统版本) 1.0 2014年推出的第一个版本 1.2 (ABI不稳定) 2.0 (不兼容1.2,ABI不稳定) 2.2 (可以通过XCode自动将语法变更到swift3.0) 3.0 (ABI相对稳定,使用者增加比较快) 特点 阅读全文
摘要:
头像圆角 原理 拖慢帧率的原因其实都是 的原因。 离屏渲染是个好东西,但是频繁发生离屏渲染是非常耗时的。 Off Screen Rendering 离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操 作。由上面的一个结论视图和圆角的大小对帧率并没有什么卵影响,数量才 是伤害的核心输 阅读全文
摘要:
多线程简介 作用 多线程可以解决耗时操作(网络操作)卡顿UI的问题,将耗时操作放在后 台,待工作完成后,通知主线程更新UI 一个线程的数据可以直接提供给其他线程使用,叫做 线程生命周期的控制 分类 任务(代码)执行的俩种方式 同步:多个任务按顺序执行 异步:多个任务可以"同时"执行,异步就是多线程的 阅读全文
摘要:
NSURLSession是NSURLConnection 的替代者,在2013年苹果全球开发者大会(WWDC2013)随ios7一起发布,是对NSURLConnection进行了重构优化后的新的网络访问接口。从iOS9.0开始, NSURLConnection中发送请求的两个方法已过期(同步请求,异 阅读全文
摘要:
1. 里氏替换原则. LSP 子类对象可以替换父类对象的位置,并且程序的功能不受影响. 为什么? 1). 指针是1个父类类型,但是我们确给了指针1个子类对象的地址. 这样做当然是可以的,因为你要1个父类对象,我给了你个子类对象. 子类就是1个父类嘛. 2). 因为父类中的成员子类都有. 只会多不会少 阅读全文
摘要:
1. 面向对象的特征-封装? 封装: 现实生活中的封装: 将很多的小东西 塞在1个大口袋里面. 好处: a. 对外部屏蔽. b. 方便管理. 代码的封装: 函数/方法 就是1种封装的体现: 将一段代码塞在函数/方法中. 好处: 屏蔽了内部的实现. 便于管理. 类是一种更高级别的封装: 1个类中封装数 阅读全文
摘要:
对象做为类的属性 1. 一个Target中的类无法直接在另外1个Target中访问. 2. 类的属性代表什么? a. 类的属性代表这类事物具有的共同的特征 b. 类的属性代表这个类所拥有的东西. 灯: 属性: 形状 功率 价格 品牌 剩余寿命 方法: 照明. 音响: 方法: 发声音. 门: 属性: 阅读全文
摘要:
对象在内存中的存储 1. 内存中的五大区域. 栈: 存储局部变量. 堆: 允许程序员手动在堆区申请指定的连续的字节数的空间来使用. BSS段: 存储未初始化的全局变量、静态变量. 数据段(常量区): 存储已经初始化的全局变量、静态变量、常量数据. 代码段:存储程序的代码. 2. 类加载. 1). 当 阅读全文
摘要:
1. 类是来描述一群具有相同特征和行为的事物的. 类还有行为. 类的声明 @interface 类名 : NSObject { 属性. } 方法的声明 @end 类的实现. @implementation 类名 方法的实现 @end 前面只描述了这个类所拥有的共同的特征.使用属性来描述. 类还有行为 阅读全文