我有一个UICollectionviewController中显示的数据集,我使用[fetchedResultsController objectAtIndexPath:indexPath]访问
使用segue,我移动到模态scrollview + uipageController,其中每个数据一个接一个地显示。问题是单独访问它们中的每一个,因为视图控制器不保存获取请求。我正在考虑传递一组对象ID,以便每个页面都可以从数据存储中获取相关数据。
我的问题是:给定fetchresultController,在我查询的UICollectionviewController中,有没有办法快速创建Object ID数组,或者我必须遍历每个managedObject,获取它们的ManagedObjectID,以及把它填入数组?
答案 0 :(得分:2)
您可以使用valueForKey
从托管对象数组中获取所有对象ID:
NSArray *objects = [fetchedResultsController fetchedObjects];
NSArray *objectIDs = [objects valueForKey:@"objectID"];
(通常,将valueForKey:
发送到对象数组会将valueForKey:
应用于数组的每个对象,并返回结果数组。)
备注:使用对象ID时,请注意这些内容可能会发生变化,例如, objectID
文档:
重要如果尚未保存接收方,则对象ID为a 保存对象时将更改的临时值。