私はこれがすでに詳細に答えられていることを知っています、しかし私はただいくつかの説明を提供したいと思います。
プライベートにしておきたいデータを.mファイルで宣言します。他のオブジェクトにアクセスできるようにするデータについては、ヘッダー.h
ファイルで宣言します。すべての宣言にプロパティを使用します。
//myViewController.h
@interface myViewController: UIViewController
@property (assign) int myInt;
@property (strong) NSString* someString;
@end
myViewControllerにメッセージを渡すことにより、別のオブジェクトからこれらのプロパティにアクセスできます。
[myViewController setMyInt:20]; //setter
[myViewController someString]; //getter
または、同等のドット表記を使用できます
myViewController.myInt = 20;
myViewController.someString;
(#include "myViewController.h"
これらにアクセスしたいオブジェクトで行う必要があります)
myViewController内では、「self」を使用してそれらにアクセスします。
self.myInt;
self.someString;
これは、セッター/ゲッターを介した仲介アクセスです。バッキング変数には、myViewController内から直接アクセスできます(他のオブジェクトからはアクセスできません_myInt
)_someString
。これは、initおよびdeallocメソッド以外ではお勧めできません。
プロパティは、インスタンス変数の宣言とデフォルトのゲッターとセッターの作成をカプセル化するため、個別の変数宣言を行う必要はなく、デフォルトの動作を変更する必要がある場合にのみ、独自のアクセサーを作成する必要があります。
ここで私の答えも参照してください:
インターフェイスで変数を宣言する必要がありますか、Objective-Cアークでプロパティを使用する必要がありますか?