从 NSObject 类派生的安全类,用于在 iOS Swift 中进行 JSON 解析



在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

最新更新