![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS语法
iOS开发语法知识复习
qq_41295037
这个作者很懒,什么都没留下…
展开
-
八、Block
一、Block1.Block的基本概念block是一种特殊的数据类型,可以保存一段代码在合适的时候调用。功能相当于函数和方法。 区别: 1. 函数不能嵌套定义,block可以;2. 函数作为形参或返回值必须是以指针的形式,block作为数据类型可以直接传。因此block比函数更加强大2.Block的格式三部分:block的定义、实现和调用;定义: 返回值类型 (^block名称)...原创 2020-04-19 21:26:12 · 173 阅读 · 0 评论 -
七、分类与扩展
一、分类category1.分类的概念 分类可以在不改变原有类的基础上增加新的方法,如给UIImage增加裁剪的分类2.分类的特点1) 分类可以给原有类增加新的方法,但是不能增加属性;2)分类可以拆分较大的类,实现合作开发;3)分类使用@property声明的属性只会生成setter/getter方法的声明,不会生成对应的实现和实例变量;4)分类可以和runtime相结合,给系统的...原创 2020-04-03 13:48:03 · 150 阅读 · 0 评论 -
六、内存管理
一、野指针与僵尸对象僵尸对象:已经被释放的对象。 再使用对象就会报错。野指针:一个指针指向被释放的对象的内存。原创 2020-02-29 22:42:19 · 86 阅读 · 0 评论 -
存疑
学习中遗留的各类问题一、OC语法已知id是动态数据类型,id 类型对象为什么可以访问私有方法?对象访问私有方法和非私有方法,都是进入消息查找的过程,有什么区别?...原创 2019-12-06 17:11:15 · 98 阅读 · 0 评论 -
四、构造方法与类工厂方法
一、构造方法 init 1. 构造方法基本概念 以init开头的方法即为构造方法,主要用于初始化对象。 作用: 对象一被创建就具备某种属性,如年龄设置默认值为10,方式是重写init方法。 2. instanceType 与 id 区别 再自定义构造方法,重写init时,返回值是instanceType 区别: 1. 编译时类型的判断: instanceType ...原创 2019-12-05 18:17:31 · 191 阅读 · 0 评论 -
三、@property修饰符与属性关键字
一、@property 1. @synthesize 与 @dynamic 在声明@property 属性后,会有两种实现选择@synthesize 和 @dynamic 2. 两者区别 @synthesize ,表示在编译阶段 编译器会自动生成 setter/getter方法;@dynamic,表示通知编译器不自动生成,由用户手动添加属性的 setter/getter方法;...原创 2019-12-03 11:15:41 · 158 阅读 · 0 评论 -
各种辨析
一、类与结构体的区别 1 类型 不同 类 class 是引用类型(指针),结构体 struct 是值类型的 。因此如果两个指针指向同一个对象,一方改变会影响另一方; 但是值类型不会相互影响。 2 存储 位置不同 类作为引用类型存在 堆 中,结构体作为值类型存与 栈 中 。3 功能 不同 类具备继承、运行时强制类型转换等功能, 结构体没有。二、属性...原创 2019-12-01 10:53:14 · 138 阅读 · 0 评论 -
二、封装、继承、多态
面向对象的三大特性一、封装概念:封装就是不提供内部具体实现细节,仅提供公共接口供外部使用优点:(1)既允许外部使用成员变量,又使得外部不能随意修改成员变量。 (2) 保证数据安全二、继承概念:A类继承B类,则A为子类B为父类, A即可使用B的所有属性和方法。优点:提高代码复用性。子类继承可以直接调用父类方法。注意:调用顺序: 子类父类方法同名,优先调用子类方法;子类可以重写父...原创 2019-11-29 14:45:42 · 74 阅读 · 0 评论 -
一、类与对象
一、类与对象1. 什么是类?什么是对象类 是具备某些共性特征(相同属性、行为)的对象的抽象统称。如人类对象 则是类的具体存在,需要开辟空间保存指向类的地址。2. 根据类创建对象的内部实现当使用new或 alloc方法创建对象,系统内部会:...原创 2019-11-27 22:19:52 · 99 阅读 · 0 评论