iPhone-пример кода Apple по умолчанию, в котором отсутствуют некоторые vars?
В XCode 4, Когда вы создаете новый проект View-base-application, вот .h из AppDelegate:
#import <UIKit/UIKit.h>
@class TestAppleProjectViewController;
@interface TestAppleProjectAppDelegate : NSObject <UIApplicationDelegate> {
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet TestAppleProjectViewController *viewController;
@end
И некоторые пункты на .М:
@implementation TestAppleProjectAppDelegate
@synthesize window=_window;
@synthesize viewController=_viewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
Я могу видеть свойства без vars...
Я вижу синтезировать с именами var, которые не существуют в классе...
Я вижу звонки на эти объекты....
Но... Где же Вары ?
Почему такой код работает ?
Там нет необходимости, чтобы определить Варс в класс ? Достаточно ли свойств ?
2 ответа:
Фактически, когда вы объявляете var как свойство, вам не нужно объявлять его снова как var. Предыдущая компиляция, где мы должны были объявить его снова, была ошибкой в предыдущих версиях Xcode. И теперь это исправлено.
Это просто привычка брать, меньше дублировать код, и это хорошо. (По умолчанию создается AH hidden var с тем же именем, начинающимся на"_").