2017-04-19 16 views
0

私は私はこの強い参照に別のクラスBポインティング内の別のプロパティを作成していIOSの - 弱参照からオブジェクトを初期化する

@property(nonatomic, strong)NSMutableDictionary *Main_Obj; 

強い特性であるクラスAにMain_Objオブジェクトを有します。クラスBにおける弱参照を使用

@property(nonatomic, weak)NSMutableDictionary *weak_Obj; 

weak_obj = Main_Obj; 

IはMain_Objがゼロである場合、クラスA Main_Objを作成しなければなりません。

しかし、問題は、弱い参照weak_objは、現在のところ強い参照 'Main_Obj'を指しているだけです。私は弱い参照のみを持つクラスBからMain_Objを初期化できます(現在はnil)。

+0

質問が分かりません。あなたはそれを言い換えていただけますか? – dasdom

+0

私は今それを理解できるいくつかの改善を行いましたか? – Hassy

+0

あなたの質問を得ることができません..詳細を説明してください。 –

答えて

0

クラスBが強い参照を持っているので、それが作成(および解放する)のために責任を負わなければならない1割り当てられた辞書オブジェクトである

を(クラスAとBだけがプロジェクトであると仮定)。

クラスAには弱い参照があり、その弱い参照に有効な(またはnil)値を割り当てる必要があります。

クラスB(この場合はクラスA)にリスナーを置くことができます。辞書オブジェクトがクラスBによって作成されると、は作成されたインスタンスでリスナーに通知します。

関連する問題