В Swift 2.0 я использую веб-API для загрузки и скачивания некоторых данных. Перед вызовом API я начал анимацию индикатора активности и хочу остановить его, когда пришел ответ API.animateWithDuration вызов после долгого времени, когда он написан в URLSession
Однако, когда я хочу остановить анимацию после ответа API, индикатор останавливается после долгого ожидания.
Вот мой код:
let activityIndi = UIActivityIndicatorView(activityIndicatorStyle: .White)
activityIndi.startAnimating()
flagBtn.addSubview(activityIndi)
let urlString = NSURL(string: "URL")
NSURLSession.sharedSession().dataTaskWithURL(urlString!, completionHandler: { (data: NSData?, _, _) -> Void in
if data != nil {
do {
let jsonInfoDic = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) as! [String:AnyObject]
if(jsonInfoDic["status"] as! Bool)
{
UIView.animateWithDuration(1.0, animations: {
activityIndi.stopAnimating()
}, completion:{ (finished: Bool) -> Void in
})
}
}
catch { print("Exception in parsing JSON.\n\nReason: \(error)") }
}
}).resume()