【发布时间】:2016-11-28 23:31:16
【问题描述】:
我得到:
*** 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“无法从
中删除键路径“count”的观察者 ,因为它没有注册为观察者。'
我有一个后台 NSOperation,它正在填充 MyElement 的属性。这些 MyElement 对象位于由 NSArrayController 管理的数组中,并绑定到 NSTableView。
这可能与更改后台线程上的属性有关吗?如果是这样,我该如何禁用它,以便表格在这些更改完成之前不会看到这些更改(并且可以在主线程上更新)?
我已将其设置为按“大小”(NSNumber)属性和
崩溃看起来像:
0 CoreFoundation 0x00007fff87ec44f2 __exceptionPreprocess + 178
1 libobjc.A.dylib 0x00007fff85d6cf7e objc_exception_throw + 48
2 CoreFoundation 0x00007fff87f2b4bd +[NSException raise:format:] + 205
3 Foundation 0x00007fff8755d786 -[NSObject(NSKeyValueObserverRegistration) _removeObserver:forProperty:] + 504
4 Foundation 0x00007fff8755d533 -[NSObject(NSKeyValueObserverRegistration) removeObserver:forKeyPath:] + 108
5 Foundation 0x00007fff875ce1a4 -[NSObject(NSKeyValueObserverRegistration)
...
15 Foundation 0x00007fff87572a69 _NSSetObjectValueAndNotify + 274
16 MyApp 0x0000000100051a10 -[MyPropertiesOperation main] + 496
【问题讨论】:
标签: binding nsoperation nsrangeexception