保留 iPhone 菜单项中的内存泄漏

发布于 2024-12-06 21:30:22 字数 299 浏览 1 评论 0原文

如何解决内存泄漏:

NSArray *keyboard = [[[NSDictionary alloc] initWithContentsOfFile:menuPath] objectForKey:@"Menu"];
[self setMenuItems:keyboard];
[keyboard release];

setMenuItems 是在头文件中定义的。

@property (nonatomic,retain) NSArray *menuItems;

How to solve memory leak in this:

NSArray *keyboard = [[[NSDictionary alloc] initWithContentsOfFile:menuPath] objectForKey:@"Menu"];
[self setMenuItems:keyboard];
[keyboard release];

setMenuItems is defined in header file.

@property (nonatomic,retain) NSArray *menuItems;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

公布 2024-12-13 21:30:22
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:menuPath]; 
self.menuItems = [dict objectForKey:@"Menu"]; 
[dict release];

在你的 dealloc 方法中

- (void)dealloc
{
    [menuItems release], menuItems = nil;
}
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:menuPath]; 
self.menuItems = [dict objectForKey:@"Menu"]; 
[dict release];

And in your dealloc method

- (void)dealloc
{
    [menuItems release], menuItems = nil;
}
叶落知秋 2024-12-13 21:30:22

在dealloc方法中

- (void)dealloc
{
self.menuItems = nil;
[super dealloc];
}

NSArray *keyboard = [[[NSDictionary alloc] initWithContentsOfFile:menuPath] objectForKey:@"Menu"];
self.menuItems = keyboard; 
[keyboard release]; 

In dealloc method

- (void)dealloc
{
self.menuItems = nil;
[super dealloc];
}

NSArray *keyboard = [[[NSDictionary alloc] initWithContentsOfFile:menuPath] objectForKey:@"Menu"];
self.menuItems = keyboard; 
[keyboard release]; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文