NSObject *obj1 = [[NSObject alloc]init];
NSObject *obj2 = [[NSObject alloc]init];
obj1 = [obj2 retain];
[obj1 release];
[obj2 release];
PHPz2017-04-17 17:11:19
obj1 = [obj2 retain];
의 이 문장은 obj1
의 포인터가 obj2
영역을 가리키고 있기 때문에 원래 obj1
이 가리키는 공간은 아무도 신경 쓰지 않고 유출됩니다.
그래서 이 문제에 관해서는 obj1 = [obj2 retain];
앞에 [obj1 release];
가 있어야 합니다. 엔지니어링 사양에 대해서는 무엇을 적어야 할지 모르겠습니다. ARC가 아닌 것에 대해 많이. 인터뷰가 아니라면 ARC를 사용해 보세요.