本の iOS 5 レシピでは、Core Data の章の例に 3 つのセクションに分かれたタブ バー コントローラーがあり、ナビゲーション バーの + ボタンで追加して表示したいデータ (TableView 形式) のエンティティを選択できます。同じ目的で、上部に 3 セクションのセグメント化されたコントロールが必要です。私はこれについて発言権を持っていません。元のコードは 1 つのビュー コントローラーのみを使用しますが、3 つの異なる ivar (セクションごとに 1 つ) を作成します。3 つのエンティティは、教師、楽器、生徒です。
私の最大の問題は、AppDelegate の didFinishLaunchingWithOptions メソッドをコーディングしているようです。
元のコード (AppDelegate.m) は次のとおりです。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
NSLog(@"%@", [self managedObjectModel]);
self.teacherTable = [[MainTableViewController alloc] init];
NSLog(@"%@", [self managedObjectModel]);
self.teacherTable.entityDescription = [NSEntityDescription entityForName:@"Teacher" inManagedObjectContext:self.managedObjectContext];
self.teacherTable.managedObjectContext = self.managedObjectContext;
self.teacherTable.title = @"Teachers";
self.studentTable = [[MainTableViewController alloc] init];
self.studentTable.entityDescription = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:self.managedObjectContext];
self.studentTable.managedObjectContext = self.managedObjectContext;
self.studentTable.title = @"Students";
self.instrumentTable = [[MainTableViewController alloc] init];
self.instrumentTable.entityDescription = [NSEntityDescription entityForName:@"Instrument" inManagedObjectContext:self.managedObjectContext];
self.instrumentTable.managedObjectContext = self.managedObjectContext;
self.instrumentTable.title = @"Instruments";
self.teacherNavcon = [[UINavigationController alloc] initWithRootViewController:self.teacherTable];
self.studentNavcon = [[UINavigationController alloc] initWithRootViewController:self.studentTable];
self.instrumentNavcon = [[UINavigationController alloc] initWithRootViewController:self.instrumentTable];
self.tabBarController = [[UITabBarController alloc] init];
[self.tabBarController setViewControllers:[NSArray arrayWithObjects:self.teacherNavcon, self.studentNavcon, self.instrumentNavcon, nil]];
[self.window addSubview:self.tabBarController.view];
[self.window makeKeyAndVisible];
return YES;
}
助けてくれてありがとう!