ソースが公開されていないサードパーティのライブラリ クラスがあります。たとえば、次のようにします。
class MyClass: NSObject {
let myProperty = 10
}
myProperty
このような値を取得できます。
let test = MyClass().value(forKey: "myProperty") // 10
myProperty
に存在するかどうかを確認したいMyClass
。理由は、サード パーティのクラスの実装が将来変更された場合にアプリがクラッシュしないようにするためです。
私が試したテストのために
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' が原因でアプリを終了しています。