我有一个实体的n个对象。
我想从同一个实体中获取30个随机对象。
我正在使用核心数据,swift 3.有人能帮我解决这个问题吗?
谢谢,
答案 0 :(得分:2)
这将需要一个额外的步骤,因为Core Data没有任何内置支持随机选择。您需要具有一些唯一属性,为该属性选择您自己的值的随机子集,然后使用这些值获取托管对象。
首先,您需要一个具有唯一值的托管对象属性。任何属性都可以,但数字属性将更快。让我们假设您有一个名为myUniqueID
的整数属性,它具有唯一值。
NSFetchRequestResultType.dictionaryResultType
,并将获取请求的propertiesToFetch
设置为仅包含myUniqueID
。结果将是一个字典数组,每个字典包含单个值myUniqueID
。uniqueIDArray
,请使用NSPredicate(format: "myUniqueID in %@", uniqueIDArray)