У меня проблема со связанным свойством пользовательского представления.Свойство привязано к NSArrayController для объекта основных данных.
Вот проблема:
На мой взгляд, я рисую несколько прямоугольников.Позиции этих прямоугольников сохраняются в объекте в основных данных (как NSRects, обернутые NSValue).Прямоугольники можно перетаскивать, и когда я перетаскиваю прямоугольник, я хочу, чтобы сущность была обновлена до новой позиции.Но я не могу выяснить, как связать arrayController обратно с представлением.
Вот как все связано:
У меня есть WindowController с выходами наview и arrayController.
arrayController привязан к managedObjectContext windowController и, следовательно, к моей модели данных ядра.(Эта привязка и привязка к сущности устанавливаются в Интерфейсном Разработчике)
Представление привязано к массиву ControlCler с помощью ивара «rectangleValuesArray»
Это последнее связывание устанавливается в windowController с помощью:
[connectionsView bind:@"rectangleValuesArray"
toObject:elementsArrayController
withKeyPath:@"arrangedObjects.rectangleValue"
options:nil];
Это работает до сих пор.
Теперь я попытался установить связывание в другом направлении с помощью:
[elementsArrayController bind:@"arrangedObjects.rectangleValue"
toObject:connectionsView
withKeyPath:@"rectangleValuesArray"
options:nil];
Теперь, когда я меняю свой ivar, сущность должна быть обновлена (верно?).Но это не работает - я получаю это из консоли:
Cocoa Bindings: Error setting value for bound property arrangedObjects.rectangleValue of object <NSArrayController: 0x200027100>[entity: Element, number of selected objects: 1]: [<NSArrayController 0x200027100> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key arrangedObjects.rectangleValue.
Что я здесь не так делаю?Пожалуйста, кто-нибудь поможет?
Симон