1、nil对象可以接受任何消息,但无响应;
2、NSString等的引用计数可认为无穷大;
3、要使用Copy、Mutablecopy要实现NSCopyding、NSMutablecCopying协议;
4、oc中,变量和方法能够同名,因为调用方式不同,能够区分;
5、@selector(print)属于SEL类型;
6、若两对象循环引用,那么不能同时retain,否则不能被释放;
7、atomic是原子性的,nonatomic是非原子性的,属性默认是非原子性的,原子性的不能多个线程同时运行,而非原子性的可以;
8、copy方法创建一个完全相同的新对象,二retain不创建新对象,只是将原来的对象引用计数加1;
9、引用计数为1的对象,不能autorelease两次或两次以上;
10、浅拷贝只拷贝源对象,而深拷贝会把原对象引用的对象也拷贝一份;
11、对于实例变量,public为公开类型,protected为受保护类型,private为私有类型;
12、copy和retain行的get方法和set方法;
。h: #import <Foundation/Foundation.h> #import "ClassTwo.h" @interface ClassOne : NSObject @property(nonatomic,assign) ClassTwo *Copy; @property(nonatomic,assign) ClassTwo *Retain; - (id)Copy; - (void)setCopy:(ClassTwo *)c; - (void)setRetain:(ClassTwo *)retain; - (id)Retain; @end 。m: #import "ClassOne.h" @implementation ClassOne @synthesize Copy=_Copy; @synthesize Retain=_Retain; - (id)Copy { return _Copy; } - (void)setCopy:(ClassTwo *)c { [_Copy release]; _Copy=[c copy]; } - (void)setRetain:(ClassTwo *)retain { [_Retain release]; _Retain=retain; [_Retain retain]; } - (id)Retain { return _Retain; } @end
原文:http://www.cnblogs.com/yueyuanyueyuan/p/3550952.html