我使用的Xcode 4.4.1。 当我定义@property
喜欢UINavigationController
或NSArray
在.h文件中我有@synthesize
它在.m文件。 但是,一些@property
喜欢UITabBarController
或NSString
我没有@synthesize
它,使其工作。
我的问题是什么@property
的需要来@synthesize
,哪些不需要。
AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
UITabBarController *_tabBar;
UINavigationController *_navBar;
}
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, retain) Employee *empView;
@property (nonatomic, retain) UITabBarController *_tabBar;
@property (nonatomic, retain) UINavigationController *_navBar;
AppDelegate.m
@implementation AppDelegate
@synthesize _navBar;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
Employee *emp = [[Employee alloc]initWithNibName:@"Employee" bundle:nil];
self._tabBar = [[UITabBarController alloc]init];
self._navBar = [[UINavigationController alloc]initWithRootViewController:emp];
self._tabBar.viewControllers = [NSArray arrayWithObjects:_navBar, nil];
self.window.rootViewController = self._tabBar;
self._navBar.navigationBar.tintColor = [UIColor brownColor];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
当我@synthesize
UINavigationController
我得到UINavigationController
和UITabBarController
。 但是,当我不@synthesize
UINavigationController
我不明白UINavigationController
但UITabBarController
显示。
在这两种情况下,我没有@synthesize
UITabBarController
谢谢