1.null内容为空,nil内存地址为空。

2.self相当于当前类的对象(实例本身),已分配内存

3.子类中不能定义和父类重名的全局变量

4.n个字节无符的取值范围是0~(2^8n)-1

5.`if(self==[super init]) `先判断一下重写的是不是父类的初始化方法,若是,就进行相应的初始化并拓展自己的特性,若不是则不重写。

6.判断两个矩形是否有交集方法:

 1 if(CGRectIntersectsRect(diji.frame,zidan.frame)) 2 { 3 } 

7.在当前类中通过@protocol声明一个接口,在这个接口中包含有属性和方法,然后在另外的类当中去实现这个接口,这种模式叫做“代理”

8.线程相关 1).为什么要开启分线程? 因为分线程可以为主线程分担压力。

2).什么时候需要在分线程里面回调到主线程的方法? 因为刷新主线程UI的时候需要回到主线程里面去刷新。

3).如何设置分线程里面While循环调用主线程的间隔时间? 设置线程休眠。如:



[NSThread sleepForTimeInterval:0.1];
[self performSelectorOnMainThread:@selector(buttonGo2:) withObject:nil waitUntilDone:YES];


9.读取沙盒路径方法:



NSString *depath=[NSHomeDirectory() stringByAppendingPathComponent@"Document/bbb.plist"]


 

10.当retaincount==0时,进行内存回收。