Видео: What is a Transformer? An Electrical Transformer Tutorial 2024
Прежде чем использовать Interface Builder для создания элементов для модального вида вашего iPad-приложения, вам следует сначала выставляют точки в коде вашего приложения, которые свяжут ваши методы с объектами интерфейса Interface Builder. Вам нужно сделать три вещи в вашем коде, чтобы компилятор создал для вас аксессоры:
-
Объявить переменную экземпляра в файле интерфейса.
-
Добавить объявление @property этой переменной экземпляра в том же файле интерфейса (обычно с неатомическим атрибутом).
Объявление определяет имя и тип свойства, а также некоторые атрибуты, которые предоставляют компилятору информацию о том, как именно вы хотите, чтобы методы доступа были реализованы.
Например, объявление @property (неатомное, назначить) NSString * wordsOfWisdom; объявляет свойство с именем wordsOfWisdom, которое является указателем на объект NSString. Что касается двух атрибутов - nonatomic и assign - nonatomic, то это означает, что компилятор должен создать аксессуар, чтобы вернуть значение напрямую, что является еще одним способом сказать, что аксессоры могут быть прерваны во время использования. Второе значение, присваивание, сообщает компилятору создать метод доступа, который отправляет сообщение назначения любому объекту, назначенному этому свойству.
-
Используйте @synthesize в файле реализации, чтобы Objective-C генерировал для вас аксессоры.
Объявление @property объявляет только, что должны быть аксессоры. Это оператор @synthesize, который сообщает компилятору о создании их для вас.
В следующем примере кода вам необходимо создать два выхода: одно для указания в поле ввода текста и одно для указания на слайдер скорости. Чтобы начать этот выпуск, вам нужно объявить каждую розетку, которую вы делаете с помощью ключевого слова IBOutlet.
#import @protocol SettingsViewControllerDelegate; @interface SettingsViewController: UIViewController {delegate; NSString * wordsOfWisdom; float sliderValue; IBOutlet UITextField * theTextField; IBOutlet UISlider * slider;} - (IBAction) сделано; - (IBAction) speedChanged: (id) отправитель; @property (nonatomic, assign) id delegate; @property (nonatomic, assign) NSString * wordsOfWisdom; @property (nonatomic, assign) UISlider * slider; @end @protocol SettingsViewControllerDelegate - (void) settingsViewControllerDidFinish: (SettingsViewController *) контроллер; - (void) changeSpeed: (double) newSpeed; @end
Объявлены два метода действий (done and speedChanged) для элементов Interface Builder (с IBAction) вместе с операторами IBOutlet, которые объявляют выходы, которые будут автоматически инициализированы указателем на UITextField (theTextField) и UISlider (слайдер) при запуске приложения.Но пока это произойдет автоматически, оно автоматически не произойдет автоматически. Вы должны немного помочь.
Методы, обеспечивающие доступ к переменным экземпляра объекта, называются методами доступа, и они эффективно получают (используя метод getter) и устанавливают (используя метод setter) значения для переменной экземпляра, Хотя вы можете сами их кодировать, это может быть довольно утомительно. Здесь присутствуют свойства. Функция Objective-C Declared Properties предоставляет простой способ объявить и реализовать методы доступа к объекту. Компилятор может синтезировать методы доступа в соответствии с тем, как вы сказали это в объявлении свойства.