2011-09-30 4 views
2

헤더 선언에속성 및 접근 자

이 포함되어 있다고 가정
@property(nonatomic, assign) DoublyLinkedList *doublyLinkedList; 
[[self doublyLinkedList] release]; 
[self setDoublyLinkedList:nil]; 

[doublyLinkedList release]; 
doublyLinkedList= nil 

하나가 다른 것보다 선호됩니까? 왜?

답변

1

차이는 없습니다.

두 번째 옵션은 getter/setter 메서드를 사용하지 않기 때문에 약간 더 빠를 수도 있습니다.

우리가 분명히 했으니 할당했을 때 중복 된 목록을 보관하고 계십니까? 그렇지 않으면 당신은 과도하게 풀어 놓기 때문입니다.

좋은 이유가 없다면이 모든 것을 건너 뛰고 assign 대신 retain을 사용하고 self.doublyLinkedList = nil을 사용하여 release/clear합니다.

정의

self.doublyLinkedList = nil; 

및 할당 해제에 사용

에서

@property(nonatomic, retain) DoublyLinkedList *doublyLinkedList; 

-(void)dealloc{self.doublyLinkedList=nil;[super dealloc];} 
관련 문제