Получение значения NSTextField из другого класса

У меня есть класс с именем TextFieldMagic, который обрабатывает манипуляции с NSTextField, анимацию, проверку и т. Д.

Я хочу получить экземпляр NSTextField из класса TextFieldMagic в моем AppDelegate. Я попробовал следующее, и я не мог заставить это работать. Я просто получаю (ноль)

- (IBAction)testHide:(id)sender {
    TextFieldMagic *textFieldMagic = [[TextFieldMagic alloc] init];
    NSLog(@"%@",[textFieldMagic.textField stringValue]); 
}

Конечно, я мог бы создать IBOutlet для NSTextField в моем AppDelegate, чтобы заставить это работать, но я хочу понять, как это сделать без создания IBOutlet в AppDelegate.

1 ответ

Решение

Это не правильный подход. С MVC, который является шаблоном дизайна, принятым с приложениями Какао, NSTextField является частью представления и должен использоваться исключительно контроллером для заполнения модели.

Другими словами, вам нужно предоставить некоторые или все данные модели для использования другими классами, и вам не следует пытаться использовать один и тот же вид из нескольких контроллеров.

Другие вопросы по тегам