ラベルなどのオブジェクトに対してプロパティを作成すると、正確には何が行われますか?
「プロパティを作成する」と言うときIBOutlet
、問題のラベルを参照するためにView Controllerでプロパティを作成することを意味していると思います。その目的は、そのラベルをプログラムで操作できるようにすることです (たとえば、表示されるテキストを変更するなど)。IBOutlet
そのラベルと対話しない場合 (たとえば、単なるプロンプト)、noは必要ありません。しかし、それを操作する必要がある場合 (たとえば、他のユーザー入力に基づいて値を変更するなど) IBOutlet
、.
作成する特定のボタンのプロパティを作成する必要がないのはなぜですか?
IBOutlet
プログラムで操作するオブジェクト (ボタンのテキストの変更、スイッチの値の取得など) の参照を作成するだけで済みますが、それ以外の場合はIBOutlet
プロパティは必要ありません。ボタンの場合は があるIBAction
かもしれませんし、セグエを使用している場合はそれさえ必要ないかもしれません。IBOutlet
多くの場合、ボタンのプロパティ参照はまったく必要ありません(ただし、何らかの理由で必要な場合は参照できます)。
ただし、要するに、IBOutlet
独自のコードで操作するコントロールのプロパティ参照を作成するだけで済みます。
特定のビュー オブジェクトのプロパティを作成する必要があるのはなぜですか? スイッチを作成したが、その値を使用してモデルに送信したかったため、これを尋ねましたが、それを機能させるにはプロパティを作成する必要がありました。これは、スイッチのゲッターとセッターに関連していますか?
ランダムなメソッドからのステータスにアクセスしたい場合はUISwitch
、そうです、getter メソッドを使用すると簡単にアクセスできます。プロパティを定義すると、ゲッター メソッドが合成されます。
一方、IBAction
の「値の変更」イベントに関連付けられている がある場合は、追加のプロパティを必要とせずUISwitch
にパラメーターからアクセスできます。sender
- (IBAction)changedSwitchValue:(id)sender
{
UISwitch *switchControl = sender;
if (switchControl.on)
NSLog(@"Switch is on");
else
NSLog(@"Switch is off");
}
しかし、他のメソッドから のon
プロパティにアクセスしたい場合は、プロパティ参照があると非常に便利です。UISwitch
IBOutlet