Нужно ли объявлять приватную переменную для свойства IBOutlet *? - PullRequest
0 голосов
/ 12 октября 2010

Допустим, у меня есть простой контроллер представления с одним свойством UITableView:

@interface MyViewController : UIViewController {
    UITableView *tv;  // <-- DO I NEED THIS??
}
@property (nonatomic, retain) IBOutlet UITableView *tv;
@end

Нужно ли мне объявлять телевизор UITableView *? Я обнаружил, что даже если я не объявляю это (и просто @synthesize свойство), все работает отлично. Тем не менее, множество примеров кода явно объявляют переменную. Я не уверен, какая польза от его объявления (или вреда от того, что он не объявлен).

Ответы [ 2 ]

1 голос
/ 12 октября 2010

В Objective-C 2.0 компилятор будет синтезировать хранилище как для вас, так и для методов доступа. Раньше такого не было, отсюда и все примеры, где люди явно объявляют ивар.

1 голос
/ 12 октября 2010

Нет, вам не нужно объявлять это, синтез будет заботиться о динамическом внедрении кода во время компиляции. С другой стороны, вы не сможете проверить переменную непосредственно в XCode, если вы не объявите ее, это обратная сторона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...