我以前寫在標題變量不使用的特性:代碼重寫爲在Objective-C ARC擺脫@property的ARC之前
@interface MyViewController : UIViewController {
NSString *prop1;
}
@end
然後在.m文件我用保留/釋放:
-(void)initVar {
prop = @"initialized variable";
[prop retain];
}
-(void)dealloc{
[prop release];
}
在嘗試過ARC一段時間後,我得到了很多內存管理問題,在某種意義上說,許多對象被釋放。我通過將ivar移動到@property並使用點符號找到了最快(但很髒)的解決方案。
我後來添加了readonly屬性,因爲沒有必要訪問控制器外部。 我的問題是,在ARC環境中,我如何重寫上面的代碼來ged擺脫@property,特別是我關心的是視圖控制器,他們可以在應用程序的生命期間多次獲取alloc/dealloc。
是的,它只是快速的代碼。爲什麼dealloc與非弧編譯器錯誤?我同意這是一個風格問題,這就是爲什麼我想刪除所有@prop。所以,據我瞭解,在ARC頭文件中聲明var時,應該讓我的內存管理安全嗎? – Leonardo 2012-02-14 07:51:04