NSArrayController для полиморфного класса - PullRequest
2 голосов
/ 25 сентября 2011

У меня есть следующие (урезанные) интерфейсы класса:

@interface ScriptEvent : NSObject {
  ...
}

@interface SingleLine : ScriptEvent {
  NSString *line;
}

@interface MultiLine : ScriptEvent {
  NSArray *lines;
}

Другой родительский класс содержит NSArray, содержащий список ScriptEvent s (который будет либо SingleLine, либо * 1007).*).

В моем XIB у меня есть NSArrayController, связанный с этим списком ScriptEvent с, и я хочу установить мастер / детализацию.Итак, у меня есть NSTableView ссылка на этот NSArrayController, и я хочу показать другую панель подробностей в зависимости от того, является ли выбранный элемент NSArrayController SingleLine или MultiLine.

Возможно ли это?

1 Ответ

1 голос
/ 27 сентября 2011

Проверьте, является ли выбранный элемент SingleLine или MultiLine с:

if([objectToCheck isKindOfClass:[SingleLine class]]){
    //Do some staff
}else if([objectToCheck isKindOfClass:[MultiLine class]]){
    //
}else{
    //
}
...