単純な問題...コードにコメントがあり、それらを削除してエラーが発生しました。数時間後、私は情報源に到着しました。
このコードは機能します:
switch (indexPath.row) {
case 0:
NSLog(@"case 0");
break;
case 1: // Clients
NSLog(@"case 1");
ViewClientListTableController *viewListTableController = [[ViewClientListTableController alloc] init];//]WithNibName:@"BrowseViewController" bundle:nil];
viewListTableController.managedObjectContext = self.managedObjectContext;
[self.navigationController pushViewController:viewListTableController animated:YES];
//[self.navigationController setNavigationBarHidden:NO];
[viewListTableController release];
break;
}
この次のもの(NSLog(@ "case 1");を削除するだけで)は機能しません:
switch (indexPath.row) {
case 0:
NSLog(@"case 0");
break;
case 1: // Clients
ViewClientListTableController *viewListTableController = [[ViewClientListTableController alloc] init];//]WithNibName:@"BrowseViewController" bundle:nil];
viewListTableController.managedObjectContext = self.managedObjectContext;
[self.navigationController pushViewController:viewListTableController animated:YES];
//[self.navigationController setNavigationBarHidden:NO];
[viewListTableController release];
break;
}
ご覧のとおり、NSLog行のみがなくなっています。そして、コンパイラは私に2つのエラーを出します:
RootViewController.m:212:エラー:「ViewClientListTableController」の前に式が必要です
RootViewController.m:213:エラー:'viewListTableController'が宣言されていません(この関数での最初の使用)
もちろん、1つの答えはNSLog行を残すことですが、実際には...なぜこのエラーが発生するのですか?