Поэтому я пытаюсь обновить пользовательский интерфейс в моем приложении. Что происходит, так это то, что метки обновляются, но когда они не сохраняют свое значение, а иногда принимают значение другой метки. Кроме того, я получаю сообщение, что метка должна использоваться только из основного потока, как мне решить эту проблему?
Вот мой код:
let queue = DispatchQueue(label: "update")
queue.async {
for s in self.fietshare.stands {
for b in s.bikes {
lbAvailable.text = "Available Bikes: " + String(s.id) + " " + String( s.bikes.count) // shows too big numbers
nrOfAvailable.text = String(b.distance) + "M"
annotationView.layoutIfNeeded()
print(s.id)
print("Nr of bikes")
print(s.bikes.count)
}
}
}
DispatchQueue.main.async {
self.view.backgroundColor = . black;
self.view.layoutIfNeeded()
}
if (Thread.current.isMainThread) {
print("Main thread")
}