Недавно я перешел на Xcode 4 и не совсем понимаю этот новый способ написания средств доступа. Например, в классе делегата приложения, который автоматически генерируется при создании нового проекта, объект window
объявляется не в @interface
, а именно так:
@property (nonatomic, retain) IBOutlet UIWindow *window;
Затем в файле реализации у нас есть файл @synthesize window=_window;
. А в функциях у нас либо self.window
, либо _window
.
Например:
[self.window makeKeyAndVisible]; // in didFinishLaunchingWithOptions function
[_window release]; // in dealloc function
Можете ли вы объяснить мне разницу, почему в @interface
ничего нет, почему мы делаем @synthesize window=_window;
вместо @synthesize window;
и в чем разница между self.window
и _window
, я имею в виду, когда мне нужно звонить одному больше, чем другому?
Я немного растерялся и чувствую, что новый код, который я делаю, пытается сделать то же самое, но не работает должным образом...
Спасибо!