Получение объектов из окна Какао - PullRequest
0 голосов
/ 26 декабря 2011

Какой самый лучший способ получить объекты из окна.У меня есть сетка, похожая на судоку из 81 NSTextFields, и я предпочел бы просто иметь массив NSTextFields вместо 81 отдельных NSTextFields, связанных через IBOutlets.Например: если бы был способ отправить сообщение в NSWindow, например, getObject: (NSString *) title, а затем использовать цикл for для добавления этих NSTextFields в NSMutableArray, это было бы идеально.Любые предложения будут оценены!

-Луки

Ответы [ 2 ]

2 голосов
/ 26 декабря 2011

Мне кажется, что вам будет намного лучше с NSMatrix из NSTextFieldCells.

Матрица - это отдельный объект, на который можно ссылаться с помощью одного выходного соединения (или другого свойства), и он знает о строках и столбцах (поэтому нет необходимости преобразовывать их в линейные индексы и из них). Вы также можете получить доступ к его отдельным ячейкам, чтобы настроить их отдельно; например, чтобы установить заполненные значения и отключить эти ячейки, чтобы пользователь не мог их изменить.

2 голосов
/ 26 декабря 2011

Вы можете сделать следующее:

NSArray *subviews = [_window subViews];
for(NSView *subview in subviews)
{
  if( [subview isKindOfClass:[NSTextField class]] )
  {
     [_textFields addObject:subview];
  }
}

в пробуждении от Nib

Теперь что касается нытья, я не думаю, что вы должны делать это таким образом. Создание настраиваемого NSView, который будет действовать как представление «Судоку», будет проще в использовании в коде и лучше для производительности вашего приложения. Загрузка окна с 81 textFields довольно тяжелая + использует намного больше памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...