In Swift 2.0 verwende ich eine Web-API zum Hochladen und Herunterladen von Daten. Bevor ich die API aufgerufen habe, habe ich eine Animationsanimationsanimation gestartet und möchte sie stoppen, wenn die Antwort der API gekommen ist.animateWithDuration Anruf nach einer langen Zeit, wenn es in URLSession geschrieben wird
Wenn ich jedoch die Animation nach der API-Antwort stoppen möchte, stoppt die Anzeige nach einer langen Wartezeit.
Hier ist mein Code:
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()