来自NSObject类的派生安全类,用于iOS Swift中的JSON解析

问题描述 投票:0回答:1

在JSON解析中,模型类必须需要符合JSON响应的密钥编码。因此,以下答案必须有助于防止它在运行时崩溃iOS App并在控制台中打印缺少的密钥。

ios json swift nsobject
1个回答
-1
投票
//
// 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("\n\n\n*******--->\(selector) key is missing in API response...<---*******\n\n\n")
            return
        }
        super.setValue(value, forKey: key)
    }
}

PC和参考:https://www.youtube.com/watch?v=3Xv1mJvwXok&list=PL0dzCUj1L5JGKdVUtA5xds1zcyzsz7HLj

© www.soinside.com 2019 - 2024. All rights reserved.