例
-(void)dealloc { self.myOutletProperty = nil; [super dealloc]; }
我想会调用一种虚拟的setter.但到底发生了什么?为什么没有?
你应该知道,那个属性只是语法糖.
例如:
@property(nonatomic, retain) NSString *myString;
将转换为
- (NSString*)myString { return myString; } - (void)setMyString:(NSString*)newString { if (myString != newString) { [myString release]; myString = [newString retain]; } }
因此,如果您声明@property,那么它实际上会释放
1.如果属性类型是"复制"或"保留",那么
self.myOutletProperty = nil; 与[myOutletProperty release]相同;
2.如果属性类型是"assign",那么
self.myOutletProperty = nil; 没做什么