私はカメラの現在の画像を分析し、毎秒画面に分析を表示する機能を持っています。しかし、画像の解析は非常にメモリーが強く、画面上でデータを検索したいときにいつでもプロセスを停止できるようにしたいと考えています。私はUITapGestureRecognizer
を使ってタップを聞き、画面上で分析を「フリーズ」しようとしました。Swiftのタップで集中的な機能を停止する必要があります
問題は、メモリ集中型関数が完了するのを待っているため、タップしたときに画面上にあったものではなく、NEXT分析で画面がフリーズします。
ユーザーが画面をタップしたときに機能を停止または終了する方法はありますか?
var analyzedText:String
var didTap:Bool
var savedText:String
func timerCalled(timer:NSTimer) { // timer is on 1 second delay
let image = capturePhoto()
if (didTap) {
savedText = label.text // "freeze" it
}
let text = analyze(image) // memory-intense function
label.text = text // update UILabel
didTap = false
}
func didTap(tapGR: UITapGestureRecognizer) {
didTap = true
}
savedText
画面をタップされたときにlabel.text
だったこと、ない値を表示される次の値で保持します:
は、ここに私の現在のコードです。
何か助けていただければ幸いです。