1

本の 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;
}

助けてくれてありがとう!

4

0 に答える 0