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];

但是现在当我尝试将 self.bookNavigationController 呈现为模态视图控制器时,这是因为 myBookVC 不存在。为什么是这样?它只是显示一个带有导航栏的空视图。

4

1 回答 1

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];
于 2012-04-10T05:19:00.533 回答