通过contentsOfURL同步

时间:2016-07-03 07:01:04

标签: ios swift uiactivityindicatorview

我正在尝试在图片开始下载时显示UIActivityIndicator,并在所有图片下载之前进行动画处理。 但是UIActivityIndicator没有动画,它会在所有图像下载时生成动画。我发现contentsOfURL是同步方法并阻塞主线程。我想使用contentsOfURL下载图片。任何人都知道如何在图像开始下载时动画UIActivityIndicator? 感谢

var indeX = 0  
var imageArrayNsData : [NSData] = []
var posts = NSMutableArray()

myActivityIndicator.startAnimating()
self.view.addSubview(myActivityIndicator)
self.view.userInteractionEnabled = false

for _ in posts.valueForKey("enclosure") as! [NSString]{
    let picURL = self.posts.objectAtIndex(indeX).valueForKey("enclosure") as! String
    let url = NSURL(string: picURL)
    let data = NSData(contentsOfURL: url!)
    let IMG = UIImage(data: data!)
    let dtA : NSData = NSData(data: UIImagePNGRepresentation(IMG!)!)
    print("download")
    imageArrayNsData.append(dtA)
    indeX++
    print(indeX)
}                   
self.view.userInteractionEnabled = true
myActivityIndicator.stopAnimating()

1 个答案:

答案 0 :(得分:1)

要异步执行,您必须使用autoload_static.php。事实上,dispatch也使用dispatch来处理它。

在我看来,您可以将代码放入队列用户初始化的调度中,并在完成AlamofireImagemyActivityIndicator

后更新主队列
self.view.userInteractionEnabled