我有一个包含 X 个项目的数组,我需要通过 uid 过滤掉特定项目。我写了以下谓词,我认为它是正确的。我面临的问题是 Swift 编译器只允许我使用接受 argumentArray 的初始化程序。
let uids = ["34885a9f0897f8e9", "11364aca04e29be0", "c25047b10ad2a0d2"]
NSPredicate(format: "NOT (uid IN %@)", argumentArray: uids)
这总是解决以下问题:
NOT uid IN "18bbfd4d3f099297"
我知道我在这里遗漏了一些明显的东西。如何构造 NSPredicate 将 25 个项目的数组过滤为 22 个项目的数组,其中不包括uids
以上所列?我需要将此谓词传递到一些 Objective-C 代码中。
不要使用NSPredicate(format:argumentArray:)
。提供第二个参数来传递参数数组以替换格式字符串中的多个占位符标记。
只要通过uids
作为替代品%@
NSPredicate(format: "NOT (uid IN %@)", uids)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)