因此,對於我的程序,我使用了5種不同的視圖,都需要訪問和共享相同的數據。當我第一次開始爲iPhone開發時,我發現了一種創建數據並將其存儲在appDelegate中的方法。現在,我有大量的變量,我從那裏訪問。如何發佈appDelegate變量
我現在的問題,是他們如何做內存管理?
appDelegate.h
@property (nonatomic, retain) NSString *analysisModeForSave;
@property (nonatomic, retain) NSString *pdfPath;
@property (nonatomic, retain) NSString *state;
@property (nonatomic, retain) NSNumber *userLevel;
@property (nonatomic, retain) NSNumber *currentHiliteID;
然後@synthesize他們在.m文件
,並使用
Agri_ImaGIS_iPhoneAppDelegate *dataCenter = (Agri_ImaGIS_iPhoneAppDelegate *) [[UIApplication sharedApplication] delegate];
訪問他們所有的功能。現在,如果我不再需要變量,我只需將它設置爲零。我應該在appDelegate的dealloc中釋放它們嗎?內存有沒有得到清除其他應用程序終止?
釋放它,而不是釋放它。你的經驗法則也有些誤導,因爲它在工廠方法等幾種情況下是不真實的。最好將人們連接到內存管理文檔,並遵循NARC規則。 –