2012-04-10 56 views
0

我有以下代码:问题与推到导航栏

- (void)setupBook 
{ 
    if (self.bookNavigationController) { 
     BookViewController *bookVC = [[BookViewController alloc] initWithTemplate:x]; 
     self.myBookVC = bookVC; 
     [bookVC release];  
     myBookVC.pageTitle = @"My Book"; 
     UINavigationController *nController = [[UINavigationController alloc] initWithRootViewController:myBookVC]; 
     self.bookNavigationController = nController; 
     [nController release]; 
    } 
} 

,然后在我的代码的其他部分:

[self.someOtherNavigationController pushViewController:self.bookVC]; 

但是现在,当我努力表现自我。 bookNavigationController作为模式视图控制器,正如myBookVC不存在。为什么是这样?它只是通过导航栏显示一个空的视图。

回答

0

何时首先创建您的视图控制器,您将它分配给一个属性,但是当分配给导航控制器的rootViewController时,您引用了一个ivar。分配rootViewController时使用该属性。

BookViewController *bookVC = [[BookViewController alloc] initWithTemplate:x]; 
bookVC.pageTitle = @"My Book"; 
self.myBookVC = bookVC; 
[bookVC release]; 
UINavigationController *nController = [[UINavigationController alloc] initWithRootViewController:self.myBookVC]; 
self.bookNavigationController = nController; 
[nController release]; 
+0

做到了这一点,并没有帮助 – xonegirlz 2012-04-10 17:15:14