iPhoneアプリ開発日誌 〜CoreData TabBarアプリでの設定など他

iPhoneアプリ開発で、CoreDataを使用するに当たって、調べたこと、つまづいたことの覚書。

・innerBandというもの
・tabアプリでcoredataを使うとき必要な設定
・CoreDataでリレーションのあるEntityのAttributeの指定方法

innerBandというもの

私は使わなかったが、「innerBand」というCoreDataを使いやすくするフレームワークがあるらしい。CoreDataを簡単に利用したい方はこういったフレームワークを使うと良いかもしれない。私個人の意見だが、Appleが作成したフレームワーク以外のものは、iOSのアップグレードなどで不具合が起きやすいと感じているので、出来る限り使わない。ただ、このフレームワークのソースをみて、いろいろ理解が深まったのでここに記す。
https://github.com/ZaBlanc/InnerBand

http://raptureinvenice.com/innerband-2/

tabアプリでcoredataを使うとき必要な設定

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    // CoreData
    app = (XXXXXXAppDelegate*)[[UIApplication sharedApplication] delegate];

- (NSFetchedResultsController *)fetchedResultsController
{
    if (__fetchedResultsController != nil) {
        return __fetchedResultsController;
    }
    
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        
    // CoreData   上で設定した「app.」を使う
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Track" inManagedObjectContext:app.managedObjectContext];
  [fetchRequest setEntity:entity];

CoreDataでリレーションのあるEntityのAttributeの指定方法

Error「 the entity XXXXX is not key value coding-compliant for the key ”list.name” 」

解決策

self.listField.text = [[self.detailItem valueForKey:@”list.name”] description];

以下に変更
self.listField.text = [[self.detailItem valueForKeyPath:@”list.name”] description];

〜私の作成アプリ[matsuyuta’s App]〜

とど松 とど松 - matsuyuta
ハブ松
ハブ松 - matsuyuta
イチ松
イチ松 - matsuyuta

コメントをどうぞ