0

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

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

我的问题是:给定 fetchresultController,在我正在使用的 UICollectionviewController 中,有没有办法快速创建对象 ID 数组,或者我是否必须遍历每个 managedObject,获取它们的 ManagedObjectID,并将其填充到数组中?

4

1 回答 1

2

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

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

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

备注:使用对象 ID 时,请记住这些可能会更改,请参阅objectID文档:

重要 如果接收者尚未保存,则对象 ID 是一个临时值,将在保存对象时更改。

于 2012-12-25T07:42:58.723 回答