У меня есть AppDelegate
вроде этого:Можно ли связать элементы управления, AppDelegate и UserDefaults без кодового?
@interface AppDelegate : NSObject <NSApplicationDelegate> {
NSString *boundValue;
}
@property (nonatomic, retain) NSString *boundValue;
@end
Я буду использовать boundValue
для некоторых расчетов в режиме реального времени спустя внутри AppDelegate
. В основном .xib
У меня также есть NSTextField
управление.
Итак, теперь я хотел бы связать как NSTextField
, так и UserDefaults.boundValue
ключом к моему AppDelegate.boundValue
. И, конечно, я бы хотел сделать это с минимальным написанием кода.
Я нашел способ связать NSTextField
либо с AppDelegate
, либо с UserDefaults
. Но как я могу привязать AppDelegate
к UserDefaults
? Как связать эти три части - контроль + делегировать + по умолчанию - вместе без дополнительных строк кода?
Ничего не изменилось ... Там нет ничего в Bindings Inspector для моего AppDelegate и SharedUserDefaultsController. Можете ли вы предоставить несколько шагов, как связать AppDelegate с UserDefaults (или наоборот)? –
Я попытался добавить ObjectController для AppDelegate, но мне это тоже не помогло ... (поскольку я понимаю, что AppDelegate уже ссылается на жалобу в случае @property, поэтому ObjectController полностью отключен) –
Whoa, slow down, do not паника. Да, свойства соответствуют привязкам, ключевое слово IBOutlet просто гарантирует, что выход отображается в IB. Единственная причина, по которой я упомянул контроллеры объектов, - это то, что вы случайно удалили их. По умолчанию appDelegate уже представлен объектным контроллером (синий куб). Выберите куб в IB и посмотрите раздел «Подключения» информационного окна: boundValue должно быть видимым как выход. Теперь вы можете ctrl-drag между кубами, представляющими appDelegate и userDefaults. Вот и все. –