Почему свойства IBOutlet объявлены в расширении класса?

Когда я создаю новое приложение с одним представлением, сгенерированный файл UIViewController имеет расширение (я думаю, что это расширение) в файле реализации.

//
//  ViewController.m
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

//...

@end

И соглашение, по-видимому, заключается в том, что IBOutlets объявлены как свойства внутри этого расширения. Почему это? Какое поведение это приводит к тому, что оно отличается от объявления его в интерфейсе файла заголовка?

1 ответ

Свойства в заголовочных файлах являются открытыми, объявления свойств в файлах реализации являются частными. Выбор за вами. Вы можете подключить их непосредственно из конструктора интерфейса в нужный файл. Я не могу понять вашу озабоченность по поводу расширения - этот код в порядке. Не могли бы вы объяснить это? (Я не могу комментировать - слишком мало репутации, извините)

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