NSPredicate 优先返回值

我有一份食谱的 CKRecord。用户输入两种成分(carbohydratevegetable)并返回食谱列表。我得到了那个工作。我还在代码的其他地方使用了协同过滤来表示“嘿,新用户,其他人喜欢这些食谱!”

如何将这些 recipe_id 提升到查询列表的顶部?

下面的代码不返回结果,因为我告诉我要给我的结果既有所需的 likedIds,也有不在 likedIds 中的食谱。但是如何将 likedIds 置于列表顶部?

    let searchTextA: [String] = [carbohydrate," "+carbohydrate,carbohydrate+"s",carbohydrate+"es"]
    let subPred1 = NSPredicate (format: "ANY ingredients IN %@",argumentArray: [searchTextA])
    let searchTextB: [String] = [vegetable," "+vegetable,vegetable+"s",vegetable+"es"]
    let subPred2 = NSPredicate (format: "ANY ingredients IN %@",argumentArray: [searchTextB])
    let likedIds: [Int] = [13733,32441]
    let subPred3 = NSPredicate (format: "recipe_id IN %@",argumentArray: [likedIds])
    let subPred4 = NSPredicate (format: "NOT (recipe_id IN %@)",likedIds)
    let predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [subPred1,subPred2,subPred3,subPred4])
wan_XM 回答:NSPredicate 优先返回值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3293.html

大家都在问