Получение значения 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
является частью представления и должен использоваться исключительно контроллером для заполнения модели.
Другими словами, вам нужно предоставить некоторые или все данные модели для использования другими классами, и вам не следует пытаться использовать один и тот же вид из нескольких контроллеров.