我是Objective-C和iOS中的新手。我跟着UINavigationController。iOS 5.1中的UINavigationController
在视频的第一个2:30分钟,他使用AppDelegate接口和实现,并提供了一些代码,我没有在我的应用程序中。
在他的界面:
@Class ViewController;
...
@property(strong, nonatomic) ViewController *viewController;
,我没有。
而在AppDelegate中实施之前,他开始定义navigationViewController
,他在didFinishLaunchingWithOption
喜欢代码的某些行:
self.windows = [[UIWindows alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.windows.rootViewController = self.viewController;
[self.windows makeKeyAndVisible]
return YES;
我上self.viewController
警告。
,但我只是有:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
return YES;
}
为了尼克斯的NavigationViewController,他补充说这一行:
UINavigationController *navigationViewController = [[UINavigationController alloc] initWithRootViewController:self.viewController
self.windows.rootViewController = navigationViewController;
当我加入这个代码,我遇到一个错误(在月底self.viewController
警告) 。 当我运行该项目时,它只显示顶部的导航,但之前创建的TableView消失了。 你能帮我解决这个问题吗?我的模拟器是5.1版本。
谢谢,但正如我在介绍的标题栏和结尾说的XCode 5.1。 AppDelegate不包含这些代码。 – Ali 2012-07-28 21:26:07
5.1是iOS SDK。这些说明应该适用于所有最新版本的XCode(或非常接近)。如上所述,创建新项目时将生成代码。 – spacious 2012-07-28 21:59:55
我在XCode中创建了一个新项目。在AppDelegate中生成的代码与我所说的完全一样。但你对iOS版和XCode是正确的。我也在XCode 4.3.3中。 – Ali 2012-07-28 22:30:55