我讀過你應該將委託人設置爲無dealloc
。我注意到它在init
中這樣做,這是好的,還是應該在dealloc
中做同樣的事情?目標C中無委託人
「這很微妙但很方便,如果你將自己作爲委託傳遞給另一個對象,在你釋放之前重置該對象的委託。
file.h
@interface TestService : NSObject
{
NSObject <TestServiceDelegate> *m_delegate;
}
@property (nonatomic, assign) NSObject <TestServiceDelegate> *delegate;
file.m
@synthesize delegate=m_delegate;
- (id)init
{
if (self = [super init])
{
m_delegate = nil;
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
爲什麼在init中這樣做會讓你無法在dealloc中執行它,如果哪一個甚至真的有必要? – 2013-02-18 16:59:25
有些人喜歡在'init'中刪除實例字段,作爲一種「腰帶和吊帶」的東西,並用於文檔目的。這是沒有必要的,並且與之後在dealloc中做的事無關。 – 2013-02-18 16:59:51