0

更新 これは、問題を再現する簡単な方法です。コアデータから読み込まれたテーブルビューを持つアプリを開くことができます。タブバーで、別のタブを設定して同じテーブルビューを開きます。あなたが得る*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'FooSpelledCorrectly''TabControllerの2番目のテーブルビュー - クラッシュ

私は、タブコントロールアプリケーションで2番目のテーブルビューを持っており、タブが選択されるとアプリケーションがクラッシュします。私はSIGABRT i like frogs

私はtableviewの(h | m)ファイルを複製してプロジェクトに追加しました。アプリケーション代理人で私はSearchGroupViewController *searchListController2;を追加しました。元のテーブルビューはSearchDestinationsViewController *searchListController;を使用しました。

私は何か単純なものを見逃しているに違いないと感じています。どのようなアイデアを見なければならないのですか? 2番目のコントローラを作成する必要がありますか?任意のヘルプまたはポインタのため

2011-12-07 13:11:46.367 CoveredBridges[5762:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'Recipe'' 
*** Call stack at first throw: 

ありがとう: 両方の.mファイルがfetchedResultsController

- (NSFetchedResultsController *)fetchedResultsController { 

    // Set up the fetched results controller if needed. 
    if (fetchedResultsController == nil) { 
     // Create the fetch request for the entity. 
     NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
     // Edit the entity name as appropriate. 
     NSEntityDescription *entity = [NSEntityDescription entityForName:@"FooSpelledCorrectly" inManagedObjectContext:managedObjectContext]; 
     [fetchRequest setEntity:entity]; 

     NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"state" ascending:YES];// was name 

     NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; 

     NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1,sortDescriptor2, nil];// was 2// sortDescriptor, 

     [fetchRequest setSortDescriptors:sortDescriptors]; 

     // Edit the section name key path and cache name if appropriate. 
     // nil for section name key path means "no sections". 
     NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"state" cacheName:nil];//@"state" 
     aFetchedResultsController.delegate = self; 
     self.fetchedResultsController = aFetchedResultsController; 

     //letters = [aFetchedResultsController valueForKey:@"alphabetIndex"]; 

     [aFetchedResultsController release]; 
     [fetchRequest release]; 
     //[sortDescriptor release]; 
     [sortDescriptor1 release]; 
     [sortDescriptor2 release]; 
     [sortDescriptors release]; 
    } 

クラッシュログを実装します! Robert

+0

「クラッシュ」という用語を持つ質問で誰もが最初に探しているのはクラッシュログです。あなたのクラッシュログはどこですか?クラッシュすることなく、私たちの時間を無駄にして、あなたの質問全体を読んだり、何がうまくいかなかったかを考えたりしてください。 – 0x8badf00d

+1

多分疑問な質問ですが、あなたのCore Dataスキーマに 'Recipe'という名前で定義されたエンティティがありますか?もしそうなら、あなたはそれを間違って綴じるでしょうか? –

+0

はい、それはすべて最初の(初期の)テーブルビューで機能します。それが死ぬ2番目のタブ(tableview)にあります。 – roberthuttinger

答えて

0

簡潔に言えば、回答は、各ビューのデータをインスタンス化し、完了時にviewDidLoadで解放することでした。以前はデリゲートからアプリを読み込んで共有していました。おそらく私は存在を確認できたでしょうか?それは今働き、私は共有したいと思った。

managedObjectContext = nil; 
managedObjectContext = [(RecipesAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext]; 
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyAwesomeData" inManagedObjectContext:managedObjectContext]; 
    [fetchRequest setEntity:entity]; 

    NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"state" ascending:YES]; 

     NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; 

    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1,sortDescriptor2, nil]; 

    [fetchRequest setSortDescriptors:sortDescriptors]; 

     NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"state" cacheName:nil]; 
     aFetchedResultsController.delegate = self; 
     self.fetchedResultsController = aFetchedResultsController; 

    [aFetchedResultsController release]; 
    [fetchRequest release]; 
    [sortDescriptor1 release]; 
    [sortDescriptor2 release]; 
    [sortDescriptors release]; 
関連する問題