在Swift 4中尝试执行NSPredicate时获取“此类不符合键值编码”

时间:2019-07-17 20:14:19

标签: swift nspredicate

每当我尝试使用NSPredicate时,都会出现错误:

  

由于未捕获的异常“ NSUnknownKeyException”而终止应用程序,原因:“ [ valueForUndefinedKey:]:此类不适用于键happyfacevalue的键值编码兼容。”

现在我不知道为什么它不起作用。我什至尝试用@objc初始化我想要的数组,但它仍然崩溃。

我知道过滤器功能非常简单,但是我需要能够使用NSCompoundPredicate。我认为我无法通过过滤器功能达到详细搜索的水平,而与NSCompoundPredicate一样。

    let tempPredStr = model.selectionQueryArray[count + 1] + "==" + model.inputQueryArray[count + 1]

    let predicate = NSPredicate(format: tempPredStr, NSNumber(value: false))
    arrayOfPredicates.append(predicate)

    /*
    let predicateIsNumber = NSPredicate(format: "isStringOrNumber == %@", NSNumber(value: false))
    let predicateIsEnabled = NSPredicate(format: "isEnabled == %@", NSNumber(value: true))
     */
    count = count + 1
}

let andPredicate = NSCompoundPredicate(type: .and, subpredicates: arrayOfPredicates)

let filteredArray = (predicateArray as NSArray).filtered(using: andPredicate)

我希望它仅使用预先构建的谓词进行谓词并生成对象数组。

0 个答案:

没有答案