学习中的知识点:

时间:2022-01-27 00:10:33


1.      带参宏与函数的区别:

1>宏是预处理,函数是c语句。

2>宏是简单的替换,函数是调用。

3>宏的参数没有类型,也不做参数类型的检查;而函数有严格要求的参数类型匹配。

4>宏使代码体积变大;而函数不会。

5>宏的执行效率高于函数。

6>宏只是简单的替换,不能递归调用。

 

2.      nil 与 NULL 的不同

NULL 是0地址,因为是void * 类型,可对任意类型指针进行赋值:char *p = NULL;      int *t = NULL;

Nil 是空对象,可对任意类型的对象指针进行赋值:UIButton *button = nil;           NSString *str = nil;

 

3.      OC都是单继承(可通过OC协议获得类似多继承的效果)

OC没有私有方法,其所有方法都是共有的。

如何实现OC私有方法:在头文件不声明,通过在类的实现文件中写一个匿名类别,在匿名类别中进行声明,这样的话类外就看不到类中的方法,从而相当于私有,但并非是真正的私有。

 

4.      内存管理原则(黄金法则):

使用allocretainnewcopymutableCopy开头的方法把对象地址赋给一个新的指针变量,当这个新的指针变量用完后就可以release或者autorelease,但是在release之后的指针将不能再操作原有对象了。