0
私は画面上の画像のグループを通過しようとしていますが、それぞれの間に遅延があります。iOS:テーブルビュー内のメソッドとデータがあまりにも早く呼び出されています
私のテーブルビューでfunc showImageAtIndex(index: Int) {
// all UI updates happen on the main queue
dispatch_async(dispatch_get_main_queue()) {
if (index) > self.images.count-1 { self.otherView.removeFromSuperview()
self.imageView?.removeFromSuperview()
return
}
self.imageView?.image = self.images[index]
let delayTime = 0.13
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(delayTime * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) {() -> Void in
self.showImageAtIndex(index + 1)
}
}
、ボタンがクリックされたときに、テーブル内のデータが最初にリロードされる理由は、showImageAtIndexは、私が知りたいのは何
func onAdd(sender: AnyObject) {
self.temp=self.lotteryMachine.setPossibleCombinations(currentStandings)
//i took out the image view stuff bc its not necessary
self.navigationItem.rightBarButtonItem!.enabled = false
self.navigationItem.leftBarButtonItem!.enabled = false
self.showImageAtIndex(0)
tableView.reloadData()
self.navigationItem.rightBarButtonItem!.enabled = true
self.navigationItem.leftBarButtonItem!.enabled = true
}
と呼ばれる方法があり、その後、画像他の方法ではなく読み込まれます。私は何をしたいのですが、画像が読み込まれ、その遅延の後にデータが更新されます。
データを早期にリロードする理由がわかりましたが、dispatch_afterセグメント内で移動すると、リロードが早すぎます。再帰関数なので、最初の呼び出し(最初の画像が表示された)の後にデータが読み込まれますが、画像の配列がすべて表示された後に読み込みたいと思っています。私は配列の長さを知っているので、ちょうどカウントを設定して毎回インクリメントする必要があり、それが長さ-1と等しいならば、データをリロードするだけですか? –
チェックを行い、dispatch_after内のデータをリロードしている場合は、正常に動作するはずです。 –
私はそれをdispatch asyncの最初のif文の中に入れてしまい、正常に動作します –