NSObject *obj1 = [[NSObject alloc]init];
NSObject *obj2 = [[NSObject alloc]init];
obj1 = [obj2 retain];
[obj1 release];
[obj2 release];
NSObject *obj1 = [[NSObject alloc]init];
NSObject *obj2 = [[NSObject alloc]init];
obj1 = [obj2 retain];
[obj1 release];
[obj2 release];
2 回答1.1k 阅读
1 回答1.2k 阅读✓ 已解决
1 回答2.8k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答959 阅读
1 回答796 阅读
这个在
obj1 = [obj2 retain];
这一句,把obj1
的指针指到obj2
那块儿去了,所以obj1
原来指的那块空间就没人管了,就泄漏了。所以单就这个问题而言是
obj1 = [obj2 retain];
前面就要[obj1 release];
,至于在工程规范上应该怎么样我也不清楚,没怎么写过非 ARC 的。如果不是为了面试,还是尽量用 ARC 吧。