2013年1月23日水曜日

CoreData 小技 EntityからNSDictionaryをとる



CoreDataやってるとさ〜Mo(MamagedObject)とNSDictionaryのやりとりってめんどいですよね?
いちいち代入とかやってらんないよ!
っと言う方の為に小技を公開しちゃいます。


<NSDictinary to MO>


Entity * entity = ... ;
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
    @"value",@"title",
    @"createDate",@"data",
     nil];
[entity setValuesForKeysWithDictionary:dic];

ま、これは厳密にいうとDate型とかFommaterで変換しなきゃいけないのでそんなに使わないですねw
よく使うのがMO to Dictionaryでしょう。

<MO to Dictionary>


Entity *entity = [[DataManager EntityListFrom:@"Entity" sort:nil pred:nil]lastObject];
NSDictionary *dic = [entity dictionaryWithValuesForKeys:[[[entity entity] attributesByName] allKeys]];


ちなみに前回のデータ取得の共通メソッドにて一行

[fetchRequest setResultType:NSDictionaryResultType];

と書けば最初からDictionaryでリストをとれます。

0 件のコメント:

コメントを投稿