(Swift) スライダーバーで画像を変更するが処理が遅い対応
iOSプログラム(Swift)でsliderバーで変更した際に画像をhttpアクセスして取得した画像を表示するプログラムを作っています。同期処理にするとスライド動作が非常に重くなります。非同期にすると必要の無い画像を律儀に取得して画像が出るまで時間がかかります。やりたいことはスライドバー変更時に前にたまっていたキューをキャンセルして、最後のキューのみ処理させたいと思います。非同期の際のソースの一部を載せておきます。どうやればいいかご存知の方はご教授ください。
@IBAction func slidertime(sender: UISlider) {
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
let group = dispatch_group_create()
dispatch_group_async(group, queue, { () -> Void in
var urlstring = "http://test.com/img.php?number=" + String(Int(sender.value * 100))
var url = NSURL(string: urlstring)
var err: NSError?
var imgeData :NSData = NSData(contentsOfURL: url!, options: NSDataReadingOptions.DataReadingMappedIfSafe, error: &err)!
self.thumbnail.image = UIImage(data:imgeData)
})
}