Свойства и переменные экземпляра

Я не понимаю, почему некоторые классы объявляют свойство, но не объявляют ivar и наоборот.

Является ли стандартной практикой при объявлении переменной экземпляра также объявлять ее как свойство?

Пример:

@interface AppDelegate : NSObject <UIApplicationDelegate>
{
    UIWindow *window;
    UINavigationController *navigationController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

это просто стандартная практика при объявлении ivar класса, чтобы сделать его также свойством?

Я понимаю, что @property создает свой собственный удлиненный сеттер (и геттер с @synethesize ), но почему он также должен быть ivar?

5
задан GPP 18 August 2012 в 02:19
поделиться