Swift - 实时更新标签
Swift - Update labels in realtime
我有一套复杂的数学题,需要几秒钟(而且是在速度更快的 iPhone 上)。为了让用户保持兴趣并相信程序没有小睡,我需要实时更新 labels/numbers。
历史上我会使用:
DispatchQueue.main.sync {...
但是现在 运行 时,这会导致线程 1 出错。
所以我正在使用:
DispatchQueue.global().async(execute: {
DispatchQueue.main.sync {
self.dateLabel.text = date1Formatter.string(from: newDate!)
// etc
}
})
令人惊讶的是,这不是实时更新数字,只是在周期结束时。我怎么"sync"呢?
你根本不应该打电话给 main.sync。
只需致电 DispatchQueue.main.async Ashley Mills 即可:
DispatchQueue.global().async(execute: {
DispatchQueue.main.async {
self.dateLabel.text = date1Formatter.string(from: newDate!)
// etc
}
})
我有一套复杂的数学题,需要几秒钟(而且是在速度更快的 iPhone 上)。为了让用户保持兴趣并相信程序没有小睡,我需要实时更新 labels/numbers。
历史上我会使用:
DispatchQueue.main.sync {...
但是现在 运行 时,这会导致线程 1 出错。 所以我正在使用:
DispatchQueue.global().async(execute: {
DispatchQueue.main.sync {
self.dateLabel.text = date1Formatter.string(from: newDate!)
// etc
}
})
令人惊讶的是,这不是实时更新数字,只是在周期结束时。我怎么"sync"呢?
你根本不应该打电话给 main.sync。 只需致电 DispatchQueue.main.async Ashley Mills 即可:
DispatchQueue.global().async(execute: {
DispatchQueue.main.async {
self.dateLabel.text = date1Formatter.string(from: newDate!)
// etc
}
})