在Swift CoreData中设置NSPredcate



正在将我现有的目标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

最新更新