Xcode - один кончик, два класса - розетки во втором классе не соединяются? - PullRequest
0 голосов
/ 25 марта 2011

У меня есть один файл пера, и я хочу соединить некоторые элементы с методами в одном классе (который является AppDelegate), а некоторые - с другим классом (который является просто NSObject).Таким образом, схема выглядит так:

buttonOne -> [mainClass set] buttonTwo -> [auxCalss set] textFieldOne -> mainClass.field textFieldTwo -> auxClass.field

Два действия [set]подключены к двум классам и работают нормально, но только textField один подключен к основному классу, который также является AppDelegate.

TextFieldTwo не работает (из вызова [field setStringValue:] в auxClass. ЭкземплярauxClass размещается в методе mainClass applicationDidFinishLaunching.

Я думал, что это проблема - во время выполнения не удается подключить некоторые элементы к auxClass, потому что его еще не было. Но когда я ставил перерыв вметод в [auxClass set:], он показал, что auxClass.field был подключен к чему-то отличному от NULL.

Обычно я видел бы это как плохой шаблон проектирования во всем, кроме самого простого примера - за исключением чего-токак представление вкладок, где функциональность двух вкладок находится в двух разных классах.

Есть ли некоторые "nib loading magic ", что происходит за кулисами AppDelegate, которое мне нужно выполнить при создании экземпляра auxClass?

1 Ответ

1 голос
/ 25 марта 2011

Вы не должны размещать / инициализировать новую копию auxClass в коде; это уже сделано для тебя в перо. Просто создайте IBOutlet в mainClass и подключите его в Interface Builder к объекту auxClass в кончике. Смотрите этот недавний вопрос SO .

...