【问题标题】:array of NSManagedObjectID from NSFetchedResultController来自 NSFetchedResultController 的 NSManagedObjectID 数组
【发布时间】:2012-12-25 01:35:26
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios core-data nsfetchedresultscontroller nsmanagedobject


    【解决方案1】:

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

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

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

    备注: 使用对象 ID 时,请记住,这些 ID 可能会发生变化,例如,请参阅objectID 文档:

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

    【讨论】:

    • @Alex:不客气,也祝你圣诞快乐!
    猜你喜欢
    • 1970-01-01
    • 2010-10-05
    • 2021-06-30
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多