1

ビューオブジェクトについて明確にする必要があります。ここで言及したことが明確でない場合は、お知らせください。

いくつかの質問:

ラベルなどのオブジェクトに対してプロパティを作成すると、正確には何が行われますか?

作成する特定のボタンのプロパティを作成する必要がないのはなぜですか?

特定のビュー オブジェクトのプロパティを作成する必要があるのはなぜですか? スイッチを作成したが、その値を使用してモデルに送信したかったため、これを尋ねましたが、それを機能させるにはプロパティを作成する必要がありました。これは、スイッチのゲッターとセッターに関連していますか?

4

2 に答える 2

3

ラベルなどのオブジェクトに対してプロパティを作成すると、正確には何が行われますか?

「プロパティを作成する」と言うとき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プロパティにアクセスしたい場合は、プロパティ参照があると非常に便利です。UISwitchIBOutlet

于 2013-03-07T15:03:27.400 に答える
1

ラベルなどのオブジェクトに対してプロパティを作成すると、正確には何が行われますか?

プロパティは、インスタンス変数のゲッターとセッターを生成するために使用されます。同じアクセサーを手動で実装できます。あなたが話している場合IBOutlet、それはGUIオブジェクトとコード(オブジェクトのプロパティにアクセスする場所)の間で対話する方法でありIBOutlet、ユーザーインターフェイスに追加されたオブジェクトとコードの間の接続になります

作成する特定のボタンのプロパティを作成する必要がないのはなぜですか?

.xib または GUI を使用せずにプログラムでオブジェクトを作成する場合IBOutletは、オブジェクトのプロパティにアクセスするためにクラスでアウトレットのないプロパティのみを使用する代わりに作成する必要はありませんが、この場合はの場合など、すべてのメソッドをオブジェクトのセレクタとして手動で設定しますUIButton

実際にどのように機能するかを知るために、ここで良い参考文献を見つけることができます

于 2013-03-07T15:12:25.813 に答える