мой вопрос относится к Интерфейсному Разработчику и IKImageBrowserView, не реализующему привязки, как я ожидал.
У меня достаточно длинный путь к ключу, чтобы добраться до NSArrayController, содержимое которого я хочу отобразить в IKImageBrowserView.
Это ключевой путь, к которому я привязываю привязку шаблона отображения NSTextField к: currentOrder.imagesArray.unvalidatedImages.arrangedObjects.@count
AppDelegate.Это прекрасно работает и дает мне число непроверенных элементов в массиве изображений, принадлежащих текущему порядку, что и должно быть.
Когда я пытаюсь привязать следующий путь к ключу IKImageBrowserView content
: currentOrder.imagesArray.unvalidatedImages.arrangedObjects
из AppDelegate, Интерфейсный Разработчик не выдает ошибку, а вместо этого действует так, как будто я ничего не вводил.Когда я возвращаюсь к инспектору, путь к ключу привязки снова становится пустым.
Однако в консоль записывается следующее: Ignoring exception related to working with bindings: NSUnknownKeyException, [<NSCustomObject> addObserver:<IKImageBrowserView ...> forKeyPath:@"currentOrder.imagesArray.unvalidatedImages.arrangedObjects" ...] was sent to an object that is not KVC-compliant for the "currentOrder" property.
Мой AppDelegate реализует currentOrder
как @свойство сохраняется, и все вложенные ключи также являются @properties.Я могу быть уверен, что эти свойства KVC-окей, потому что выше NSTextField может читать изменения без проблем.Интересно, что selectionIndexes
IKImageBrowserView может связываться с ...unvalidatedImages.selectionIndexes
, это не может сделать только content
.
Я реализовал обходной путь, посредством которого я поместил NSArrayController в мой файл пера и привязалзатем массив содержимого к ...arrangedObjects
затем связал IKImageBrowserView с контроллером массива, но был бы очень рад иметь более точное решение или, по крайней мере, узнать, делаю ли я что-то не так.
Спасибо!