Производный безопасный класс от класса NSObject для анализа JSON в iOS Swift - PullRequest
0 голосов
/ 09 апреля 2019

При синтаксическом анализе JSON класс модели должен кодировать ключи в соответствии с ответом JSON. Поэтому следующий ответ должен помочь предотвратить сбой приложения iOS во время выполнения и распечатать недостающий ключ в консоли.

1 Ответ

0 голосов
/ 09 апреля 2019
//
// 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)
    }
}

ПК и ссылка: https://www.youtube.com/watch?v=3Xv1mJvwXok&list=PL0dzCUj1L5JGKdVUtA5xds1zcyzsz7HLj

...