В моем приложении ios я передаю текст из удаленного сервиса в UITextView.
@IBOutlet weak var streamingResult: UITextView!
// Store streaming results in a String called results
var results : String = ""
Я не знаю, когда приходит текст или нет. Но всякий раз, когда возникает пауза, я хочу начать новую строку на UILabel.
Поэтому я прибегнул к использованию NSTimer для определения отсутствия текста в течение 3 секунд, например:
var timer = NSTimer.scheduledTimerWithTimeInterval(3, target: self,
selector: "pauseExists", userInfo: nil, repeats: false)
Мой селектор срабатывает, как и ожидалось, когда нет входящего текста, и я попытался добавить символ новой строки, например:
@objc func pauseExists() {
print("No stream for 3 seconds")
guard let currentText = self.streamingResult.text else { return }
if !currentText.isEmpty {
self.results.append("\n")
self.streamingResult.text = self.results
}
}
Это не работает, следующий результат добавляется сразу после предыдущего. Как правильно это сделать?