スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[iOS]CoreDataチュートリアル(CoreDataのイベントフェッチ)

○もくじ○
[iOS]CoreDataチュートリアル(土台編)
[iOS]CoreDataチュートリアル(CoreDataの作成)
[iOS]CoreDataチュートリアル(CoreDataのイベント追加)
[iOS]CoreDataチュートリアル(CoreDataのイベントフェッチ) <- 現在
[iOS]CoreDataチュートリアル(CoreDataのイベント削除)

この回では、CoreDataのイベントをフェッチする方法を紹介します。
CoreData~Tutorial~ 仕切り用画像

●フェッチ
フェッチ(fetch)は、「取り出す」という意味です。
今回行うのはイベントを取り出すことになります。

●フェッチ要求を作成します
"viewDidLoad"の最後の方へ次のコードを追加します。
//フェッチ要求の作成
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event"
inManagedObjectContext:managedObjectContext];
[request setEntity:entity];


●ソート記述子の設定
ソート記述子の指定が無い場合は、取り出されたオブジェクトの順番がばらばらになります。
ここでは、作成日の順でソートをしています。
//"creationDate"でソートをかける
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"creationDate" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor,
nil];
[request setSortDescriptors:sortDescriptors];


●フェッチ要求の実行
フェッチ要求を実行すると、可変配列にイベントが入って帰ってきます。
帰ってきたデータを可変コピーして受け取ります。
//実行後、帰ってきたデータを可変コピーしてうけとる
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[managedObjectContext
executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil) {
// エラーを処理する
}


●最後に "eventsArray" へset
eventsArrayへ取得したイベント配列をセットして完了です。
//イベントを格納して完了
[self setEventsArray:mutableFetchResults];


▲ここでビルドチェック▲
一度シュミレータで動かしてみます。
ここで初めてテーブルにデータが表示されます。
注意:ここでデータが出ない場合、TableViewDataSourceのnumberOfSectionsInTableView:でのreturnが0になっている可能性があります。ここのreturnを1に変え、#warningは削除してしまいましょう。

ここまで出来ましたら、次へ進みます。

次回:[iOS]CoreDataチュートリアル(CoreDataのイベント削除)
このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。