私はチェックマークがあるかどうかを記録するためにtableViewに配列を作成し、そこにいくつのチェックマークがあるかに基づいてLabelテキストを変更しようとしました。UILabelがテキストを変更しない
マイコード:
@IBOutlet weak var myLabel: UILabel!
func setText() {
if checkmarks == [0: false] {
self.myLabel.text = "text"
}
if checkmarks == [1: false] {
self.myLabel.text = "text1"
}
}
私はすべてのエラーを得ていないのですが、テキストが変更されていません。アドバイスをいただければ幸いです。
更新:値を取得しようとしている配列が別のクラスにあります。ここで
はそのコードです:
var checkmarks = [Int: Bool]()
チェックマークがそのように私は(パブリッククラス??)に上記のコードを書くことで考え、私の他のクラスファイルがそれにアクセスすることができます保存されました。
他のクラスファイルの先頭にもチェックマークを付ける必要がありますか?編集:それは私の悪い無効な再宣言です。助けのための
おかげ
UPDATE 2:問題は、アレイシステムの解釈にありました。私はループとしてコードを書き直しました(私は要求に応じて追加します)、それを修正しました。助けてくれてありがとう!
ようになると、あなたの変数を宣言されています方法は呼ばれていますか?それはあなたがそれに新しいテキストを設定しても、ラベル上のテキストが変更されていないという問題があることはちょっと変わったようです。メソッドが呼び出されるかどうかを確認します。どちらのif文が呼び出されているのかを確認してください(どちらも可能性があります)。テキストを他の場所に設定しているかどうか確認してください。これらのすべてがOKと思われる場合、私が考えることができる唯一のことは、あなたがメインスレッドで呼び出されていないことです。メソッドが呼び出されていないか、不正確なケースが評価された場合は、投稿したコードに問題がない可能性が高いため、プロシージャに関する詳細情報を提供する必要があります。 –
「チェックマーク」はどのように宣言しましたか? – Desdenova
チェックマークの宣言を表示 –