2011-07-12 13 views
0

私はrootviewcontrollerにNSMutableArrayを持っています。質問オブジェクトで満たされています。各質問には必要な質問テキスト、オプション、および選択された値が入ります(質問にまだ答えがない場合はnull)iPhone渡しオブジェクトがUIViewcontrollerを参照する

私は他のuiview xibも持っていますが、これは質問型に応じてナビゲーションコントローラにプッシュします。

頼まれるために必要な質問は、私は、関連.xib

に関連する質問の変数を渡したいしかし、私は、ユーザーの編集は、その質問には、いくつかの値を入力したときにその変数のオブジェクト参照を渡したいです私は任意の値を返信したくないのですが、そのビューコントローラのサブクラスから質問変数の値を直接設定することはできません(参照渡し)

したがって、@プロパティを宣言し、uiviewcontrollerを正しく初期化する正しい方法はありますか?

以下のコードでは、rootviewcontroller配列のその変数の値も変更されますか?私はそこに価値があるが、参照ではなく、どのように私はそれを変更することができますか?

MultiSelectionTableViewController *multiSelectionViewController =[[MultiSelectionTableViewController alloc] initWithNibName:@"MultiSelectionTableViewController" bundle:nil]; 

NSMutableArray *variableitems; 

    multiSelectionViewController.question=variableItems[0]; 

とuiviewsubコントローラで:rootviewコントローラで

Question * question; 
@property(nonatomic, retain); 
[email protected]"answer"; 

また、あなたがNSManagedObjectsまたはこのarctitectureのあらゆるcoredataを使用してアドバイスをしますか?これらの質問はXMLから解析され、XMLとして返送されます。

答えて

2

Objective Cのすべてのオブジェクトは、プロパティをコピーとして定義しないかぎり、参照渡しされます。したがって、他のビューコントローラ内のvariableItems[0]で変更されたものは、呼び出し側ビューコントローラ内のオブジェクトに影響します。 variableItems[0]がオブジェクトポインタの場合。

オブジェクトのリストを使用する場合は、データを保存する必要があります。その場合は、CoreDataを使用するのが賢明です。

+0

variableItems [0]は質問で満たされたnsmutable配列です。 – Spring

+0

次に、variableItems [0]の項目の変更は、それらを使用するView Controller間で影響を受けるはずです。 – karim

-1

assignプロパティで試してください。それは参照によってオブジェクトを送ることができます。

+0

@Downvoter理由を説明できますか? – Spring

関連する問題