作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试过滤掉 fetchRequest 结果中的重复项。我使用以下代码:
let sortDescriptor = NSSortDescriptor(key: "lastupdate", ascending: false)
let sortDescriptors = [sortDescriptor]
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext
let fetchRequest = NSFetchRequest(entityName:"Details")
fetchRequest.sortDescriptors = sortDescriptors
fetchRequest.propertiesToFetch = [ "orig_id" ]
fetchRequest.resultType = NSFetchRequestResultType.DictionaryResultType
fetchRequest.returnsDistinctResults = true
let company_temp = try context.executeFetchRequest(fetchRequest)
let company = company_temp as! [Details]
for t in company {
let id = t.orig_id
print(id)
self.myarray.append("\(id)")
}
当我注释掉这三行时:
fetchRequest.propertiesToFetch = [ "orig_id" ]
fetchRequest.resultType = NSFetchRequestResultType.DictionaryResultType
fetchRequest.returnsDistinctResults = true
我的数组中有 8 个项目。我的代码有什么问题吗?
最佳答案
您保存了上下文吗?
我有同样的问题。当您有未保存的更改时,NSDictionaryResultType 不会反射(reflect)持久存储的当前状态。请参阅Apple Docs关于 includesPendingChanges:
方法。
因此,在代码之前执行一个简单的 context.save()
可能会解决您的问题。
另一个问题是这一行会崩溃:let company = company_temp as! [详细信息]
,因为您将得到一个字典
。不是 NSManagedObject
列表。
关于swift - NSFetchRequest ReturnsDistinctResults 给出空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36843453/
我正在尝试过滤掉 fetchRequest 结果中的重复项。我使用以下代码: let sortDescriptor = NSSortDescriptor(key: "lastupdate", asce
我正在尝试获取所有对象属性的唯一值列表(类似于 [array valueForKeyPath:@"@distinctUnionOfObjects.key"]。据我所知,我应该能够通过创建一个 NSFe
我是一名优秀的程序员,十分优秀!