0

に関して多くの質問がありUINavigationControllerます。Apple の例に従うようにコードを変更しましたが、pushViewControllerメソッドが機能しません。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

[window addSubview:navController.view];

[window makeKeyAndVisible];

LoginController *login = (LoginController*)[self.navController.viewControllers objectAtIndex:0];

if([login already_validated] == TRUE) {
    self.timeline = [[TimelineViewController alloc] initWithNibName:@"Timeline" bundle:[NSBundle mainBundle]];

    [navController pushViewController:timeline animated:YES];

    [self.timeline release];
}

return YES;     

ビューは次の行に正しくロードされます。

self.timeline = [[TimelineViewController alloc] initWithNibName:@"Timeline" bundle:[NSBundle mainBundle]];

...しかし

[navController pushViewController:timeline animated:YES];

ビューを提示しません。確認しましたnavControllerが、null ではありません。

何か案は?

一番!

ルーカス。


修繕!!

問題は にありMainWindow.xibます。

rootViewControllerウィンドウ クラスに を設定しないでください。

XIB ファイルに属性を設定すると、このビューが他のすべての上に表示されます。

4

2 に答える 2

0

これを試してみてください..

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    


[window addSubview:navController.view];


[window makeKeyAndVisible];


LoginController *login = (LoginController*)[navController.viewControllers objectAtIndex:0];//here remove self


if([login already_validated] == TRUE) {

    self.timeline = [[TimelineViewController alloc] initWithNibName:@"Timeline" bundle:nil];//remove the nsbundle mainbundle


    [navController pushViewController:self.timeline animated:YES];//here u have to use with self.timeline

    [self.timeline release];

}

return YES;  
于 2011-06-13T17:13:53.510 に答える
0

releaseプロパティに を直接送信しないでください。メモリ管理はセッターメソッドで行われます!

それ以外の:

[self.someProperty release];

書きます:

self.someProperty = nil;

通常、これはdeallocメソッドで行います。

あなたの場合、単に行を削除する[self.timeline release];か、プロパティをまったく使用しないでください。

編集

自動解放を追加します。

self.timeline = [[[TimelineViewController alloc] initWithNibName:@"Timeline" bundle:[NSBundle mainBundle]] autorelease];
于 2011-06-13T16:52:36.517 に答える