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

View Controllerを最初に作成するときは、それをプロパティに割り当てますが、navコントローラーの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 に答える