在JSON解析中,模型类必须需要符合JSON响应的键编码。因此,以下答案必须有助于防止它在运行时使iOS应用程序崩溃,并在控制台中打印丢失的密钥。
//
// MARK:- SafeJsonObject
//
@objcMembers
class SafeJsonObject: NSObject {
override func setValue(_ value: Any?, forKey key: String) {
let uppercasedFirstCharacter = String(key.first!).uppercased()
let range = NSMakeRange(0, 1)
let selectorString = NSString(string: key).replacingCharacters(in: range, with: uppercasedFirstCharacter)
let selector = NSSelectorFromString("set(selectorString):")
let responds = self.responds(to: selector)
if !responds {
print("nnn*******--->(selector) key is missing in API response...<---*******nnn")
return
}
super.setValue(value, forKey: key)
}
}
PC和参考:https://www.youtube.com/watch?v=3Xv1mJvwXok&list=PL0dzCUj1L5JGKdVUtA5xds1zcyzsz7HLj