【问题标题】:ARC + NSLocalizedString + NSMenuItem#title == Memory IssueARC + NSLocalizedString + NSMenuItem#title == 内存问题
【发布时间】:2012-12-22 04:31:14
【问题描述】:

我正在使用 ARC 和通用 Cocoa,但仍然遇到内存问题。对于NSZombiesEnabled,以下行指向崩溃:

[self.menu itemWithTag:MYMenuItemStatus].title = NSLocalizedString(@"DISCONNECTED", nil);

出现错误:

*** -[CFString retain]: message sent to deallocated instance

self.menu定义如下:

@property (nonatomic, strong) IBOutlet NSMenu *menu;

MYMenuItemStatus定义如下:

typedef enum {
    MYMenuItemStatus = 0,
    // and so on...
} MYMenuItem;

此代码在Reachabilityreachability-changed 回调中执行,如果这有助于解释任何事情。不过,我很茫然。我错过了什么?

更新:

self.menu(及其项目)从一个 nib 文件初始化(菜单属性是一个插座)。

【问题讨论】:

  • 您能否提供更多代码来初始化 self.menu 和项目?
  • 如果你用 Zombies 模板运行 Instruments 下的代码,你会发现什么?
  • @anatoliy_v 更新:它们只是 IB 实例化的。

标签: objective-c cocoa memory-management crash automatic-ref-counting


【解决方案1】:

我可以向您保证,您显示的代码没有任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    相关资源
    最近更新 更多