0
私は迅速です。私のUIには、いくつかのクラスインスタンスの値を表示するラベルがあります。そして、私はそれらのインスタンスの価値を高めるクラスメソッドを持っています。このメソッドを呼び出すと、インスタンスの値は更新されます。 UIのラベルは同じままです。どのようにすれば、このメソッドでもそれらのラベルの数字を更新することができます。あなたはUILabelに更新された値を割り当てる必要がメソッドが変数を変更した後のUIの値を更新する(Swift 3)
class MyNumbers {
var value = 50
func increaseValue(by: Int){
value += by
}
}
var newNumber = myNumbers()
newNumber.increaseValue(by: 5) //This does increase newNumber's value to 55
//but my label on my UI remains as 50
が、これは仕事やニーズに合わない場合は、私に教えてください。あなたがはっきりしていれば答えを受け入れてください。ありがとう:) – CoderFrom94
答えをありがとう。単に "displayValue.text =" \(newNumber.value) "と書くだけでなく、" DispatchQueue.main.async "を使用する目的が何であるか尋ねることもできますか?@ CoderFrom94 –
@HazarPanc、displayValueラベルを更新する予定です。 UIアップデートはメインスレッドでのみ作成しなければなりません。また、 'Thread.isMainThread'を使ってメインスレッドに入っているかどうかを確認することもできます。' DispatchQueue.main.async'はmain現在のスレッドがメインではない場合でも、 – CoderFrom94