我已經在.hiPhone發佈問題
@property (nonatomic, copy) NSString *username;
然後將以下代碼,用戶名是這樣分配的,當用戶在一個TextField輸入文本:
self.username = textField.text;
,然後在dealloc方法我稱之爲發佈:
NSLog(@"%d",[username retainCount]);
[username release];
NSLog(@"%d",[username retainCount]);
但在控制檯它打印:
2011-01-11 23:09:52.468 IAPP [2527:307] 1
2011-01-11 23:09:52.480 IAPP [2527:307] 1
什麼問題?
感謝
這是不正確的,'autorelease被推遲'直到事件處理結束,但'釋放'立即執行。 – 2011-01-11 22:34:20
是的。這是理論,在所有情況下都應該是真的。然而,我剛剛創建了一個小型iOS應用程序(在模擬器中測試過),並且在釋放我的Test類的實例後,我仍然能夠獲取我的屬性值。看來這個框架在調用dealloc的時候會拖延一些時間......如果你一步一步地執行這個程序,你會得到一個正確的BAD ACESS,儘管(嘗試它)......) – Moszi 2011-01-11 22:42:09