Это является продолжением вопроса: creating-a-function-on-a-parent-class-that-can-be-accessible-to-all-its-children«Тип протокола„“не может быть реализован» ошибка
Было предложено вместо того, чтобы использовать класс для функции протокола будет лучше. После попытки использования протокола возникает ошибка «Тип протокола« JSONObject »не может быть экземпляр». Любая помощь в исправлении этой ошибки приветствуется. Вот протокол:
protocol JSONObject: class, NSObjectProtocol {
init(resultsDictionary: [String:Any])
}
extension JSONObject {
static func updateResultsDictionary(urlExtension: String, completion:
@escaping (JSONObject?) -> Void) {
let nm = NetworkManager.sharedManager
_ = nm.getJSONData(urlExtension: urlExtension) {data in
guard let jsonDictionary = nm.parseJSONFromData(data),
let resultDictionaries = jsonDictionary["result"] as? [[String : Any]] else {
completion(nil)
return
}
for resultsDictionary in resultDictionaries {
let jsonInfo = JSONObject(resultsDictionary: resultsDictionary)// Error haapens here
completion(jsonInfo)
}
}
}
}