因此,对于我的程序,我使用了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规则。 –