„count“ Ich erhalte:kann kein Beobachter entfernen <NSArrayController> für den Schlüsselpfad
*** app aufgrund nicht abgefangene Ausnahme ‚NSRangeException‘ Abschluss Grund: ‚Es kann keine Beobachter < NSArrayController> entfernen für den Schlüsselpfad "count" von < MyElement> weil es nicht als Beobachter registriert ist.
Ich habe einen Hintergrund NSOperation, der die Eigenschaften von MyElement auffüllt. Diese MyElement-Objekte befinden sich in einem Array, das von NSArrayController verwaltet wird und an ein NSTableView gebunden ist.
Könnte dies mit dem Ändern von Eigenschaften in einem Hintergrundthread zusammenhängen, und wenn ja, wie kann ich das deaktivieren, sodass die Tabelle diese Änderungen erst sehen kann, wenn sie abgeschlossen sind (und im Hauptthread aktualisiert werden können)?
Ich habe es durch eine „Größe“ sortieren gesetzt (NSNumber) Immobilien und
Der Absturz wie folgt aussieht:
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