【发布时间】: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