に2つUITableViews
埋め込まれていUINavigationController
ます。最初のテーブル ビュー コントローラーでセルを選択すると、2 番目のビュー コントローラーへのプッシュ セグエがトリガーされます。このセグエは実行されていません。
FirstTableVC
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// getting called as planned
if (indexPath.row == 0 && reload == YES) {
// working
[self pushedRefresh:self];
reload = NO;
return;
}
NSLog(@"past return"); // logged as planned
// NOT performing!
[self performSegueWithIdentifier:@"more" sender:[self.tableView cellForRowAtIndexPath:indexPath]];
}
やったこと・気づいたこと
SecondTblVC's
viewDidLoad:
メソッドが呼び出されていません。ただし、非プッシュ セグエを使用すると、VC は正しく表示されます。- 送信者パラメーターで
nil
andを使用してみましたが、同じ結果が得られました。self
performSegueWithIdentifier:
UIViewController
同じ結果で、2 番目のビュー コントローラーをバニラに変換しました。- 「more」セグエは正しくラベル付けされ、次のように接続されています
push
- クラッシュはありません。セグエがないだけです。
- ストーリーボードの設定全体を削除
UINavigationController
し、同じ結果に置き換えました。 - 私は別の .h/.m を持っていません
UINavigationController
- テーブル ビュー
delegates/data source
リンクは計画どおりに機能しています。 - (ログイン方法から学ぶ)があります。
destinationViewController
performSegue
より多くのコードとスクリーンショットが役立つかどうか教えてください。
ありがとうございました。
編集
これが私のcellForRowAtIndexPath
実装です:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"ReuseCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
cell.textLabel.text = [clubNames objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [times objectAtIndex:indexPath.row];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:simpleTableIdentifier];
}
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
return cell;
}