Ios 在Swift CoreData中设置NSPredicate
我正在将现有的目标c代码(ios)改写为swift,现在我在swift中面临Coredata NSPredite的一些问题,因为存在一些多对一关系,反之亦然。。我使用以下代码Ios 在Swift CoreData中设置NSPredicate,ios,core-data,swift,Ios,Core Data,Swift,我正在将现有的目标c代码(ios)改写为swift,现在我在swift中面临Coredata NSPredite的一些问题,因为存在一些多对一关系,反之亦然。。我使用以下代码 let fetchRequest = NSFetchRequest(entityName: "TUMessage") let sortSequence = NSSortDescriptor(key: "sequence", ascending: true) let sortTime = NSSort
let fetchRequest = NSFetchRequest(entityName: "TUMessage")
let sortSequence = NSSortDescriptor(key: "sequence", ascending: true)
let sortTime = NSSortDescriptor(key: "epoch_time", ascending: true)
var filterPredicate:NSPredicate = NSPredicate(format:"thread == [c] %@",contact.threads.anyObject())
fetchRequest.predicate = filterPredicate
var sortDescriptor:NSArray = NSArray(objects: sortTime,sortSequence)
fetchRequest.sortDescriptors = sortDescriptor
fetchRequest.fetchBatchSize = 50
return fetchRequest
其中,“TUMessage”
是我们需要从中获取数据的表,“sequence”
用于对获取的结果进行排序,“thread==[c]@”
是消息表的一种关系(多对一,因为每个联系人都有多个线程)
而contact.threads.anyObject()
是我试图添加的谓词
type anyobject? does not confirm to protocol, CVarArgType
任何帮助都将不胜感激
谢谢你你需要打开它并将其投射到特定的类中
contact.threads.anyObject()! as MYClass
我现在无法检查它,但我假设您已经打开了可选的:
contact.threads.anyObject()代码>如果线程是关系,为什么要使用[c]执行不区分大小写的搜索?