objective-c - ARC + NSLocalizedString + NSMenuItem#title == 内存问题

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

我正在使用 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;

此代码在 Reachability 可达性更改回调中执行(如果这有助于解释任何内容)。但我很茫然。我错过了什么?

更新:

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

最佳答案

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

关于objective-c - ARC + NSLocalizedString + NSMenuItem#title == 内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14000070/

相关文章:

objective-c - 在Sharekit2.0中自定义发到facebook的帖子

ios - 使用 NSPredicate 过滤 NSArray 的 Big-O 运行时

iphone - NSFetchedResultsController:对象从较高索引移动到较低索引时出现异常

cocoa - NSTableView 删除应用程序文件,出了什么问题?

java - 不关闭 stringwriter 会导致泄漏吗?

ios - 如何在 Apple WatchKit 中制作动画按钮?

objective-c - 如何使标签中的文字变大?

c++ - 尝试将 std::aligned_storage 与 SSE 和新的一起使用

objective-c - 从第三个 View Controller 导航项弹出到第一个 View Controller ( Root View Controller )未更改

c - 堆栈和堆内存的大小