swift - 尝试在 Swift 4 中执行 NSPredicate 时获取“此类不符合键值编码”
问题描述
每当我尝试使用 NSPredicate 时,它都会出错:
由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[<Project.Object 0x7fc805c23770> 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)
我希望它只使用预先构建的谓词进行谓词并生成对象数组。
解决方案
推荐阅读
- python - 重新排列熊猫数据框
- laravel - 如何在laravel中获得与子关系的关系?
- python-3.x - 使用 seaborn 进行相关性分析:TypeError: 'float' 对象不能被解释为整数
- spring - 如果 json 对象在 post 请求中缺少键,则引发错误
- python - (Python)我怎样才能知道是否有其他相等的相反符号的值?
- python - 使用 Python 聚合另一列的值的列
- python - vscode 使用方法:from png import *
- java - 使用 HashMap 查找重复项
- javascript - 处理 http 测试请求中的错误
- arrays - 如何在 Matlab 上展开矩阵?