Iphone 如何将navigationcontroller添加到uiviewcontroller
我试着这么说,它说的是糟糕的访问。[崩溃] 如何看待这个问题Iphone 如何将navigationcontroller添加到uiviewcontroller,iphone,Iphone,我试着这么说,它说的是糟糕的访问。[崩溃] 如何看待这个问题 @提前感谢您在第一行设置了自动释放(alloc/init) 然后在第三行显式释放视图控制器 因此,您过度释放此对象并导致崩溃 您可以删除[employeeDetailed release]行,一切正常。您不能将UINavigationController添加到现有的导航堆栈中。您不需要这样显示新的导航控制器模式: employeeDetailed = [[[EmployeeDetailedViewController alloc]
@提前感谢您在第一行设置了自动释放(alloc/init) 然后在第三行显式释放视图控制器 因此,您过度释放此对象并导致崩溃
您可以删除[employeeDetailed release]行,一切正常。您不能将UINavigationController添加到现有的导航堆栈中。您不需要这样显示新的导航控制器模式:
employeeDetailed = [[[EmployeeDetailedViewController alloc] initWithNibName:@"EmployeeDetailedViewController" bundle:nil] autorelease];
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:employeeDetailed] autorelease];
[employeeDetailed release];
[self.navigationController pushViewController:navController animated:YES];
这将对您有用。请尝试一下。我发现在应用程序的特定部分中显示导航控制器的最佳方法如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Set the view controller as the window's root view controller and display.
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:self.viewController] autorelease];
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
return YES;
}
employeeDetailed = [[[EmployeeDetailedViewController alloc] initWithNibName:@"EmployeeDetailedViewController" bundle:nil] autorelease];
[self. navigationController presentModalViewController: navController];
然后在myViewController.m中
使用
@谢谢,我忘了内存问题了。!你能帮我弄清楚怎么推ViewController吗?它不推铍,你不能把新的UINavigationController推到现有的导航堆栈上。您引用了self.navigationController,因此我假设当前控制器是堆栈的一部分。在这种情况下,您应该能够简单地使用:[self.navigationController pushViewController:employeeDetailed animated:YES];是的,我使用了[self.navigationController-pushViewController:employeeDetailed-animated:YES];控制器仍然没有做任何事情!self.navigationController是否存在?i、 e.您确定当前控制器是导航堆栈的一部分吗?我不想要presentmodalviewcontroller,先生。我需要PushView控制器,然后只按
员工详细信息
,不按导航控制器
。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Set the view controller as the window's root view controller and display.
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:self.viewController] autorelease];
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
return YES;
}
employeeDetailed = [[[EmployeeDetailedViewController alloc] initWithNibName:@"EmployeeDetailedViewController" bundle:nil] autorelease];
[self. navigationController presentModalViewController: navController];
MyViewController *myViewController = [[MyViewController alloc]initwithnibname :@"MyViewController"];
UINavigationController *myNavC = [[UINavigationController alloc]initWithRootViewController:myViewController];
[self.NavigationController pushViewController: XController animated:YES];