2013-12-04 1 views
0

Я хочу сделать окно инспектора, как в окно инспектора приложения Preview макинтоша , где у меня есть модель подкласс NSManagedObject и хочу, чтобы проверить его свойствоКак связать свойства NSManagedObject с таблицей другого окна?

У меня есть главное окно, содержит таблицу объектов, а другая чтобы показать свойства выбранного объекта из главного окна

моя модель: (и она должна быть общей, инспектор должен иметь возможность проверять экземпляр подкласса NSManagedObject, поэтому имена свойств не указаны)

@interface Metadata : NSManagedObject 

@property (nonatomic, retain) NSString * title; 
@property (nonatomic, retain) NSString * name; 
@property (nonatomic, retain) NSString * mail; 

@end 

t Стол он инспектор окна предназначено быть таким:

------------------------------------------------- 
|type    name    value  | 
|-------------------------------------------------| 
|NSString   title    "sample" | 
|NSString   name    "sample" | 
|NSString   mail   "[email protected]"| 
|_________________________________________________| 

и, конечно, меняющегося в окне инспектора будет обновлять значения в главном окне, и наоборот

Проблема заключается в том, что я не могу привязать окно инспектора к модели напрямую, потому что я хочу привязать его к свойствам, поэтому у меня есть модель, которая имеет 3 свойства для просмотра в таблице из трех строк, каждое свойство в строке

, если я создаю новый класс для удерживайте свойства управляемой модели, я потеряю ссылку на привязку и даже не могу работать

Проблема заключается в том: Я не могу отобразить свойства одного (NSManagedObject подкласса, в данном случае, метаданные) экземпляр в виде таблицы, не только столбцов, но ряд для каждого свойства

+0

Я точно не понимаю вашу проблему: 1. У вас есть проблема с синхронизацией выделения в информационном окне с выбранным объектом в главном окне или 2. У вас есть проблема с отображением свойств одного экземпляра как таблица (NSArray)? –

+0

да, второе: я не могу отобразить свойства одного экземпляра (NSManagedObject подкласс, в данном случае, метаданных) как таблицу – AMTourky

+0

, и, конечно, я хочу, чтобы обновления в инспекторе синхронизировались с основным и наоборот – AMTourky

ответ

0

объект, который (например, документ) должно иметь свойство для массива всех объектов и для набора индексов выбранных строк.

В вашем инспектора, связать контроллер массива к свойствам документа:

  • content
    • Привязать к: Документ
    • ключ управления: (должен быть отключен, IIRC)
    • Путь к модели: allObjects
  • selectionIndexes
    • Привязать к: Документ
    • ключ управления: (должен быть отключен, IIRC)
    • Модель ключевой путь: selectionIndexes

Помните, что модельные ключевые пути определения свойств вы» re binding to, поэтому, если вы назовете ваши два свойства чем-то другим, вам нужно будет изменить пути к ключам модели для соответствия.

Затем привяжите взгляды инспектора через этот контроллер массива.

  • value
    • Привязать к: контроллер массива
    • ключ контроллера: selectedObjects
    • Модель ключевой путь: title или name или mail

Вы могли бы сделать то же самое подайте табличный вид: разделите ate контроллер массива для документа, связанный таким же образом и привязывающий столбцы таблицы value привязки к свойствам метаданных через контроллер массива.

+0

извините за ответ в последнее время, проблема в том, что я не знаю имен свойств, инспектор должен иметь возможность проверять экземпляр подкласса NSManagedObject – AMTourky

+0

@AbdelhameedTourky: см. Http://stackoverflow.com/q/754824/30461. –

+0

Да, я видел это раньше. Но все же, как соединить все pices tohether !? Как добиться привязки, если значения требуют запуска кода для их получения !? – AMTourky