У меня есть функция Alamofire, например, когда данные поступают для вставки данных в глобальный NsDictionary
Common.Customers
Функция -
static func PostAlomofire(format : RequestFormat) {
let loginParam: [String: Any] = [
"searchTerm": format.Name,
"pageSize": format.PageSize,
"pageNumber": format.PageNumber ,
"deviceId": format.DeviceId
]
print(loginParam)
Alamofire.request("http://111.3.4.2/website/api/Customer/Search", method: .post, parameters: loginParam, encoding: JSONEncoding.prettyPrinted)
.responseJSON { response in
let result = response.result
print(result.value)
if let dict = result.value as? Dictionary<String,AnyObject>
{
if let innerDic = dict["results"]
{
Common.Customers = innerDic as! [NSDictionary]
}
}
print(Common.Customers)
}
}
Этот код работает.Но если я не использовал таймер Common.Customers
, то всегда ноль.Когда я хочу вызвать эту функцию, я звоню как
WebService.PostAlomofire(format: format)
_ = Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { timer in
self.Table_tv.reloadData()
}
, но если данные не приходили 0,5 секунд, этот код не работает.
Timer.scheduledTimer
Это правильный путь илине?Это не безопасно для меня.Что я могу использовать, если это не так?