Вы можете использовать Codable Protocol и создать переменную этой модели в ViewModel и сохранить ее в хранилище CoreData / Realm или создать переменную в синглтоне.
Создание структуры с протоколом Codable
struct otpValueModel: Codable {
let Msg: String?
let Otp: String?
}
func sendRequest(completion : @escaping (( Data?, Error?) -> Void)) {
let myUrl = URL(string: "http://upegov.in:5002/api/AdbRegistrationNew");
var request = URLRequest(url:myUrl!)
request.httpMethod = "POST"// Compose a query string
let postString = "hello";
request.httpBody = postString.data(using: String.Encoding.utf8);
let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
completion(data, error)
}
task.resume()
}
func parseData(data: Data?, error: Error?, modelCompletion: @escaping (( [otpValueModel] ) -> Void)) {
guard let dataResponse = data, error == nil else {
print(error?.localizedDescription ?? "Response Error")
return
}
do {
//here dataResponse received from a network request
let decoder = JSONDecoder()
let models = try decoder.decode([otpValueModel].self, from: dataResponse)
modelCompletion(models)
} catch let parsingError {
print("Error", parsingError)
}
}