NSFetchedResultController中的NSManagedObjectID数组

时间:2012-12-25 01:35:26

标签: ios core-data nsfetchedresultscontroller nsmanagedobject

我有一个UICollectionviewController中显示的数据集,我使用[fetchedResultsController objectAtIndexPath:indexPath]访问

使用segue,我移动到模态scrollview + uipageController,其中每个数据一个接一个地显示。问题是单独访问它们中的每一个,因为视图控制器不保存获取请求。我正在考虑传递一组对象ID,以便每个页面都可以从数据存储中获取相关数据。

我的问题是:给定fetchresultController,在我查询的UICollectionviewController中,有没有办法快速创建Object ID数组,或者我必须遍历每个managedObject,获取它们的ManagedObjectID,以及把它填入数组?

1 个答案:

答案 0 :(得分:2)

您可以使用valueForKey从托管对象数组中获取所有对象ID:

NSArray *objects = [fetchedResultsController fetchedObjects];
NSArray *objectIDs = [objects valueForKey:@"objectID"];

(通常,将valueForKey:发送到对象数组会将valueForKey:应用于数组的每个对象,并返回结果数组。)

备注:使用对象ID时,请注意这些内容可能会发生变化,例如, objectID文档:

  

重要如果尚未保存接收方,则对象ID为a   保存对象时将更改的临时值。

相关问题