Objective c 关于属性和访问器

Objective c 关于属性和访问器,objective-c,properties,Objective C,Properties,假设标头声明包含 @property(nonatomic, assign) DoublyLinkedList *doublyLinkedList; 两者之间有什么区别吗 [[self doublyLinkedList] release]; [self setDoublyLinkedList:nil]; 及 一个比另一个好吗?为什么?没有区别 第二个选项可能会稍微快一点,因为它不使用getter/setter方法 我们很清楚,分配双链接列表时是否保留了它?因为否则你就过度释放了 除非你有充分的

假设标头声明包含

@property(nonatomic, assign) DoublyLinkedList *doublyLinkedList;
两者之间有什么区别吗

[[self doublyLinkedList] release];
[self setDoublyLinkedList:nil];


一个比另一个好吗?为什么?没有区别

第二个选项可能会稍微快一点,因为它不使用getter/setter方法

我们很清楚,分配双链接列表时是否保留了它?因为否则你就过度释放了

除非你有充分的理由,否则我会跳过所有这些,使用retain而不是assign,self.doublyLinkedList=nil来释放/清除它

e、 g

定义

@property(nonatomic, retain) DoublyLinkedList *doublyLinkedList;
使用中

self.doublyLinkedList = nil;
在Dealoc上

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