我在使用NSUserDefaults时收到了SIGABRT

时间:2011-07-19 12:04:41

标签: objective-c cocoa macos nsuserdefaults

以下行有时会抛出SIGABRT:

[[NSUserDefaults standardUserDefaults] synchronize];

我不知道为什么会这样。 顺便说一句,该应用程序是多线程的。

2 个答案:

答案 0 :(得分:1)

NSUserDefaults是线程安全的,这不是问题。您在默认值中过度释放某个对象,并且在找到它时同步崩溃。

答案 1 :(得分:0)

如果您在首选项上添加了键值观察器并且未实现

,也会发生这种情况

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context