NSObject *obj1 = [[NSObject alloc]init]; NSObject *obj2 = [[NSObject alloc]init]; obj1 = [obj2 retain]; [obj1 release]; [obj2 release];
光阴似箭催人老,日月如移越少年。
obj1 = [obj2 retain];의 이 문장은 obj1의 포인터가 obj2 영역을 가리키고 있기 때문에 원래 obj1이 가리키는 공간은 아무도 신경 쓰지 않고 유출됩니다.
obj1 = [obj2 retain];
obj1
obj2
그래서 이 문제에 관해서는 obj1 = [obj2 retain]; 앞에 [obj1 release];가 있어야 합니다. 엔지니어링 사양에 대해서는 무엇을 적어야 할지 모르겠습니다. ARC가 아닌 것에 대해 많이. 인터뷰가 아니라면 ARC를 사용해 보세요.
[obj1 release];
obj1 = [obj2 retain];
의 이 문장은obj1
의 포인터가obj2
영역을 가리키고 있기 때문에 원래obj1
이 가리키는 공간은 아무도 신경 쓰지 않고 유출됩니다.그래서 이 문제에 관해서는
obj1 = [obj2 retain];
앞에[obj1 release];
가 있어야 합니다. 엔지니어링 사양에 대해서는 무엇을 적어야 할지 모르겠습니다. ARC가 아닌 것에 대해 많이. 인터뷰가 아니라면 ARC를 사용해 보세요.