そこで、アプリのデリゲートで UINavigationController を作成し、RootViewController インスタンスで初期化しました。UINavigationController は、アプリの UIWindow のサブビューとして追加されました。(それが重要な場合、私の RVC にはカスタム初期化子があります。)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
_window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
_viewController = [[RootViewController alloc] initWithPath:@"/private/var/mobile/"];
_viewController.title = @"mobile";
UINavigationController *nav1 = [[[UINavigationController alloc] initWithRootViewController:_viewController] autorelease];
//This part I'm not sure about as well
[_window addSubview:nav1.view];
[_window makeKeyAndVisible];
return 0;
}
その情報を使用して、次のように、RVC の別のインスタンスを UITableView からナビゲーション スタックにプッシュしようとしています。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//I've tried it without the if statement as well
if(indexPath.section == 0){
RootViewController *detailView = [[RootViewController alloc] initWithPath:launchDirectory];
detailView.title = relativeDirectory;
[self.navigationController pushViewController:detailView animated:YES];
別の注意として、私の RVC テーブルビューのデータソースとデリゲートは「self」に設定されています。
私の質問は、テーブルの行を選択してもビューが変わらないのはなぜですか? テーブルが新しいテーブルにプッシュされず、行を選択した後も同じセルの内容が表示されます。つまり、何も起こらない…
助けてくれてありがとう。