Je dispose d'une classe de bibliothèque tierce dont les sources ne me sont pas accessibles. Voici un exemple :
class MyClass: NSObject {
let myProperty = 10
}
Je peux obtenir myProperty
comme ceci.
let test = MyClass().value(forKey: "myProperty") // 10
Je souhaite vérifier si myProperty
existe dans MyClass
. La raison est que je ne veux pas que mon application se plante si l'implémentation de la classe tierce change à l'avenir.
Pour les tests, j'ai essayé
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 { }
Dans tous les domaines, je me fais écraser.
*** Terminer l'application en raison d'une exception non prise 'NSUnknownKeyException', raison : '[<__lldb_expr_80.MyClass 0x608000223a00>]. valueForUndefinedKey :]: cette classe n'est pas conforme au codage des valeurs de clé pour la clé myProperty1.'