1.类的初始化方法:必须以init开头,返回值为id
oc跟swift不一样,swift的初始化中要求所有属性都有初始值,而oc中不需要,oc中不给初始值就是nil
nil是指引用类型为空
Null是基础数据类型为空
2.重写没有override,直接重写就行了,不过oc中没有重载,桀桀桀
3.访问控制符:(其实oc中没有绝对的私有方法和属性,反正有kvc和runtime)
- @public:在任何地方都能直接访问对象的成员变量
- @private:只能在 当前类 的对象方法中直接访问,如果子类要访问需要调用父类的get/set方法
- @protected:可以在 当前类及其子类对象 方法中直接访问,变量默认的访问权限就是 protected
- @package:对于framework内部的类是@protected的权限,对于外部的类是@private,相当于框架级的保护权限,适合使用在静态库.a中。
9、OC 访问控制符(@private @package @protected @public)_逆袭的青年的博客-CSDN博客
4.
.(点语法)是访问类的属性,本质是调用set、get方法。
->是访问成员变量,但成员变量默认受保护,所以常常报错,手动设为public即可解决
5.类和对象的存储结构
在程序的执行过程中,当类被首次访问(在声明类的指针变量或创建实例对象的时候)时,会将类的声明与实现的代码存储在内存的代码段中。类的加载只会被执行一次。当程序运行结束后,才会释放内存空间。
Objective-C中类是如何存储在内存中的_KarenChia的博客-CSDN博客