【问题标题】: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]; 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-22
        • 2013-02-09
        • 2010-11-23
        • 2011-12-10
        • 2011-05-24
        • 2023-03-20
        相关资源
        最近更新 更多