0

エラーが発生します:

キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。理由: '+entityForName: エンティティ名 'CorePlaylist' の NSManagedObjectModel が見つかりませんでした''

しかし、少し前に機能しました!didFinishLaunchingWithOptions終了する前にエラーが発生しました。

私のコードは次のとおりです。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.
    NSLog(@"DID finish launching %@", [self managedObjectContext]);

    PlaylistsViewController *table = [[PlaylistsViewController alloc] init];

    NSManagedObjectContext *context = [self managedObjectContext];

    if (!context) {
        NSLog(@"\nCould not create *context for self");
    }

    table.context = context;

    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];

    return YES;
}

編集:

-(void) getData {
context = [(ClientAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"CorePlaylist" inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];

[request setFetchBatchSize:20];
[request setEntity:entity];

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"playlistid" ascending:YES];

NSArray *newArray = [NSArray arrayWithObject:sort];

[request setSortDescriptors:newArray];

NSError *error;

NSMutableArray *results = [[context executeFetchRequest:request error:&error] mutableCopy];

[self setArr:results];

[self.tableView reloadData];
}
4

1 に答える 1

1

coreDataModel ファイルがプロジェクトにあり、呼び出しているエンティティのスペルが正しいことを確認してください (大文字と小文字が区別されます)。

デバイスでテストしている場合は、データベースの破損の問題を防ぐために、アプリケーションを完全に削除して再度デプロイする必要がある場合があります。

于 2012-05-22T10:01:31.760 に答える