15

私はコアデータで動作する素晴らしいiPhoneアプリを持っています。さまざまなチュートリアルで説明されているように、NSFetchedResultsController/NSManagedObjectContextを使用します。

次に、アプリを拡張して、さらにいくつかの機能を追加したいと思います。データからの情報を持つオブジェクトで配列を構築する必要がある問題。

どういうわけか、自分のコンテキストにあるすべてのデータのリストを取得する必要があります。

UITableViewのデータを取得するのと同じようなアプローチをとることができると思いました。

id <NSFetchedResultsSectionInfo> sectionInfo = [[_fetchedResultsController sections] objectAtIndex:section];

私は実際に複数のセクションを持っているので、これは失敗します。これで、すべてのセクションを調べて、次のコマンドでデータにアクセスするための独自のIndexPathを作成できました。

MyData *info = [_fetchedResultsController objectAtIndexPath:indexPath];

しかし、私がまだ見つけていない別の方法があると思います。誰かがここで私を助けてくれることを願っています。

どうもありがとう。

4

2 に答える 2

41

NSFetchedResultsControllerからすべてのオブジェクトを取得するメソッドを探していますか?もしそうなら、これを使用してください。

NSArray *fetchedData = [_fetchedResultsController fetchedObjects];

複数のエンティティがある場合は、エンティティごとにfetchrequestを作成します。このようなものはあなたにあなたのすべてのオブジェクトを与えるはずです。

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:self.entityName inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
NSError *error;
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error];
于 2010-10-09T23:08:23.703 に答える
1

特定のセクションのすべてのオブジェクトを取得したい場合は、次のようにすることができます。

NSArray *sectionObjects = [_fetchedResultsController.sections[section_number] objects];
于 2014-07-25T00:10:16.483 に答える