2012-01-03 16 views
1

ViewControllerにドロップされたTableViewからViewControllerをプッシュする際に問題が発生しました。viewController内のtableviewからviewControllerを押しても動作しません。

私はここに

pushViewController is not pushing

問題がある溶液で、ここにスレッドを発見した..私は彼の解決策を行っていると私の見解はまだプッシュしていません。私はctrlを介して私のテーブルビューを接続+ビューコントローラにドラッグし、両方のデータソースとデリゲートを設定します。私が言及した記事では、解決策は、 'viewviewからView Controllerへの参照アウトレットを作成することでした。しかし、私はそれが何を意味するのか正確には分かりません。それで助けてもいいでしょう。私はthis tutorialに続き、明らかにステップ9に固執しています。

コードの行がトリガではないが

[self.navigationController pushViewController:facility animated:YES]; 

次のように私のコードは非常に最後のコメントアウト行がかどうかを確認するためにそこにある...

viewTable方法

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
NSLog(@"list Size: %@",list); 
    return [list count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = (UITableViewCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

if(cell == nil){ 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
} 
CustomerListData *customer = [self.list objectAtIndex:indexPath.row]; 
cell.textLabel.text = customer.facilityName; 

// cell.textLabel.text = @"Detail"; 
return cell; 
} 

-(void)setValue:(NSMutableArray*)array 
{ 
//NSMutableArray *newArray = [[NSMutableArray alloc] init]; 
list = array; 
} 

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

FacilityMissionListViewController *facility = [self.storyboard instantiateViewControllerWithIdentifier:@"facilityMissionList"]; 
[self.navigationController pushViewController:facility animated:YES]; 
//UINavigationController* navController = self.navigationController; 
} 

ですnavigationcontrollerはnullです。そうではない。

私がここで問題を集めたのは、テーブルビューがビューコントローラ内にあり、そのテーブルビューが「テーブルビューコントローラ」ではないということです。この方法は明らかにそうであれば機能しますが、そうでなければいくつかの手順を実行する必要があります。しかし、私はそれらを知らない。

ありがとうございます。

答えて

0

NavigationControllerが正しく設定されていないようです。それを設定するコードを投稿できますか?

+0

私の間違い.. navコントローラは決して設定されていませんでした(私はこのプロジェクトに携わってからしばらくしていました)。私はすべてのビュー遷移のためにnavコントローラの代わりにセグを使用しています。私はsegueの設定に切り替えて、うまくいきました。私は今、私の質問は..これはテーブルやデータの通過など何かに影響するだろうと思いますか?セグまたはnavコントローラの使用に違いはありますか? –

+0

私が理解しているように、前と同じように、新しいViewController(ファシリティ)にデータを設定して渡す必要があります。 –

+0

Andrewに感謝します。機能的には、基本的にはすべて同じものです。 –

0

置く:あなたのdidSelectRowAtIndexPath方法で

NSLog(@"%@", self.navigationController); 

を、メソッドが呼び出されている場合とnavigationControllerがnilである場合は、表示されます。このケースの1つかもしれません。

それ以外の場合は、FacilityMissionListViewControllerがnilでもないことを確認してください。

+0

ボタンをクリックするとメソッドが呼び出されますが、self.navigationcontrollerは実際にはnullです。どうやらチェックするもう一つの方法は不正確でした。それで私はここから何をしますか? –

関連する問題