【问题标题】:Retain memory leak in iphone menuitem在 iphone menuitem 中保留内存泄漏
【发布时间】:2011-09-28 06:22:56
【问题描述】:
如何解决内存泄漏问题:
NSArray *keyboard = [[[NSDictionary alloc] initWithContentsOfFile:menuPath] objectForKey:@"Menu"];
[self setMenuItems:keyboard];
[keyboard release];
setMenuItems 在头文件中定义。
@property (nonatomic,retain) NSArray *menuItems;
【问题讨论】:
标签:
iphone
memory
memory-leaks
retain
【解决方案1】:
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:menuPath];
self.menuItems = [dict objectForKey:@"Menu"];
[dict release];
在你的 dealloc 方法中
- (void)dealloc
{
[menuItems release], menuItems = nil;
}
【解决方案2】:
在dealloc方法中
- (void)dealloc
{
self.menuItems = nil;
[super dealloc];
}
NSArray *keyboard = [[[NSDictionary alloc] initWithContentsOfFile:menuPath] objectForKey:@"Menu"];
self.menuItems = keyboard;
[keyboard release];