全く問題無い。次のようにスイッチを使用するだけです。
vcWhereYouDeclaredTheSwitch.toggleSwitch.on = YES;
また
BOOL test = [vcWhereYouDeclaredTheSwitch.toggleSwitch isOn];
他のView Controller内。
プロパティに関する一般的な考え方を次に示します。
メモリ管理: 舞台裏で、正しい メモリ管理で変数を作成するセッターを作成します。メモリ管理がどのように行われるか ( strong
/weak
およびretain
/ copy
/ )を簡単に確認できるため、頭を悩ませることがなくなりますassign
。
他のクラスからのアクセシビリティ: @property
.h で宣言@synthesize
し、.m で宣言すると、ivar はパブリックに読み取りおよび書き込み可能になります。これは、privat クラスの拡張機能で防ぐことができます。@property
publicを宣言し、privat クラス拡張を介しreadonly
て内部的に宣言することもできます。readwrite
例: 私有地
// [In the implementation file]
@interface MyClass ()
@property (nonatomic, retain) NSMutableArray* someData; // private!!
@end
@implementation MyClass @synthesize someData
@end
カスタムのゲッターとセッター: 必要に応じて、カスタムのゲッターとセッターを作成することもできます。また、ゲッターまたはセッターを作成して、もう一方を自動的に処理することもできます@synthesize
。また、そのようなゲッターとセッターにカスタム ロジックを書き込むことができます。たとえば、変更後にテーブルビューをリロードできます@property
。
Automatic Key-Value-Observing (KVO) 準拠: KVO を使用している、または使用する予定がある場合は、プロパティを宣言するだけで基本的に無料で入手できます。他に何もする必要はありません!
iVar を public にする必要がある場合は@property
、iVar のゲッターとセッターを作成するよりも簡単に作成できます。
を使用する@property
と、iVar で宣言する必要はありません (iOS および 64 ビット Mac Os X アプリケーションの場合)。次の方法で実行できます@synthesize
。
@synthesize myiVar = _myIvar;