2011-12-05 6 views
0

「クラス」アウトレットを作成する方法はありますか?スタティックIBOutlets?

アイデアは、それらのアウトレットをNibから一度だけインスタンス化し、すべてのインスタンスで共有することです。

私の主な疑問が

@property (...) IBOutlet ... 
static ... 
@syntetize/@dynamic ... 

答えて

1

シングルトンパターンを使用します。

シングルトンインスタンスは通常の方法でIBOutletを所有することができ、それらは一度だけ作成され、共有されます。

+0

本当に静的なアウトレットの短い答えはいいえですが、最もクリーンなアプローチはシングルトンです。 – Rivera

+0

クラスプロパティの概念がないので、あなたは正しいです。 IBOutletはプロパティです。 – Sulthan

0

をミックスする方法です私はこれは良いアイデアですわからないんだけど、あなたはに、インスタンスごとのsetFoo/fooのメソッドを定義することによって、あなたが探している効果を得ることができますあなたがやっていることすべてが明らかにされていませんので、これは良いアイデアではないかもしれません

static id sharedFoo; 

-(void)setFoo:(id)newFoo { 
    sharedFoo = newFoo; 
} 

-(id)foo { 
    return sharedFoo; 
} 

、A:

あなたは@property (...) IBOutlet fooを宣言して定義することができます...共有値を扱います「あなたがコンピュータに横たわっているなら、それはあなたを得る」という古い格言を使うことができます。

+0

問題は、setFooとfooを " - "ではなく "+"で宣言することです。 – Rivera

+0

本当ですか? "クラス変数"を制御するためにインスタンスメソッドを呼びたいと思ったようです。 – Stripes

関連する問題