我有一个第三方库类,它的源不对我开放。例如像这样:
class MyClass: NSObject {
let myProperty = 10
}
我可以得到myProperty
这样的价值。
let test = MyClass().value(forKey: "myProperty") // 10
我想检查是否myProperty
存在于MyClass
. 原因是如果 3rd 方类的实现在未来发生变化,我不希望我的应用程序崩溃。
为了测试我试过
guard let test = MyClass().value(forKey: "myProperty1") else { return } // crash
if let test = MyClass().value(forKey: "myProperty1") { } // crash
do {
let test = try MyClass().value(forKey: "myProperty1") // crash
} catch { }
在所有方面我都会崩溃。
*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[<__lldb_expr_80.MyClass 0x608000223a00> valueForUndefinedKey:]:此类与键 myProperty1 的键值编码不兼容。”