正在将我现有的目标c代码(ios)重写为swift,现在我在swift中面临Coredata NSPredcate的一些问题,因为存在一些多对一关系,反之亦然。。我使用以下代码,
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] %@"
是消息表(多对一,因为每个联系人都有多个线程)、
并且CCD_ 4是我试图添加的谓词。不幸的是,我得到以下错误
type anyobject? does not confirm to protocol, CVarArgType
任何帮助都将不胜感激。。
感谢
您需要打开它并转换到特定的类
contact.threads.anyObject()! as MYClass