お使いのブラウザは、バージョンが古すぎます。

このサイトは、Internet Explore8・Internet Explore9には対応しておりません。
恐れ入りますが、お使いのブラウザをバージョンアップしていただきますよう宜しくお願いいたします。

「Core Data」を利用したiPhoneアプリ開発③: モデルクラスの作成

データモデルの作成まで進みましたので、前回作成したデータモデルを要素を反映させていきます。

新規オブジェクトの作成

-MasterViewController.m-

insertNewObjectForEntityForNameを作成したエンティティ名「Test」に変更します。属性の型「title」と「date」を追加します。

-(void)insertNewObject:(id)sender{

NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:@"Test" inManagedObjectContext:context];
[newManagedObject setValue:@"Main Title" forKey:@"title"];
[newManagedObject setValue:[NSDate date] forKey:@"date"];
----
----
}

テーブルビューに表示するオブジェクトを取得するプロパティ「fetchedResultsController」を作成する処理を修正していきます。取得するエンティティを「Test」に変更します。属性「date」を使って降順ソートするようにします。

- (NSFetchedResultsController *)fetchedResultsController
{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Test" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO];
NSArray *sortDescriptors = @[sortDescriptor];
[fetchRequest setSortDescriptors:sortDescriptors];
----
}

新たに作成されたオブジェクトをテーブルビューに表示するため、セルをカスタマイズしていきます。「MainStoryboard.storyboard」を編集して、テーブルビューセルを修正していきます。テーブルビューセルを選択し、セルのスタイルを「Basic」から「Subtitle」に変更します。

スクリーンショット-2013-07-19-16.18.33(2)_03

新たに「Subtitle」が追加されましたのでセルの内容を修正していきます。セルの「Title」を属性「title」、「Subtitle」を属性「date」に設定します。

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = [[object valueForKey:@"title"] description];
cell.detailTextLabel.text = [[object valueForKey:@"date"] description];
}

今回作成したプロジェクトをビルドしてみましょう。

「+」ボタンを押すと新規のオブジェクトが作成され、「Title」には属性「title」の内容が設定され、「Subtitle」には属性「date」が設定されます。

iOSシミュレータのスクリーンショット 2013.07.19 16.36.11
新規オブジェクトを作成してテーブルビューに表示することが出来ましたので、登録した内容を修正する編集画面を作成していきます。

コメントをどうぞ

メールアドレスは公開されません。* が付いている欄は必須項目です。


お気軽にお問い合わせください。

日本VTR実験室では、お仕事のご依頼、ブログ・コラムのご感想などを受け付けております。
アプリ開発・コンテンツ制作でお困りでしたら、お気軽にご相談ください。
ご連絡お待ちしております。

お問い合わせはこちらから

03-3541-1230

info@nvtrlab.jp

電話受付対応時間:平日AM9:30〜PM6:00