2012-04-04 10 views
1

RootViewControllerクラスに配列(recordArray)をロードしました。これをDetailViewControllerクラスに渡して、その中の変数にアクセスできるようにしました。 1つの値を正常に渡すことはできますが、配列全体を渡す方法はわかりません。(初心者)ViewControllerからDetailControllerに配列を渡そうとしています

私はDetailsViewController.hに2番目のNSMutableArrayレコード配列を作成し、@ propertyステートメント(retain付き)を追加して、DetailsViewController.mで合成しました。 DetailsViewController.mに次の行を追加しました。

recordArray = [[NSMutableArray alloc] initWithArray:self.recordArray]; 

しかし詳細ビューで空の配列が返されます。

私はこの記事のいくつかを読んだことがありますが、実装するために十分理解しているものは見つかりませんでした。私はこれについてすべて間違っていると思っています....

あなたの助けを借りてくれてありがとうございます。あなたはまさにあなたがやりたいことは依存性の注入で、おそらくこの時点でnilで同じプロパティrecordArrayを割り当てる

recordArray = [[NSMutableArray alloc] initWithArray:self.recordArray]; 

+0

ディテールビューコントローラー、ストーリーボード、またはxibファイルはどのように表示されますか? –

+0

両方のViewControllerはxibファイルです。 –

答えて

2

このコードを参照してください:

iPhone SDK: How do I pass an array of values from a ViewController onto other ViewController?

がありますが、サティヤの答えを参照することができます。

あなたはより多くの助けが必要な場合は、私に教えてください

EDIT:

を:

は、私たちが言うSecondViewControllerでメソッドを定義しNSArray呼ばsecondArraySecondViewController

で宣言されていると仮定しましょう

-(void)setValue:(NSArray *)array 
{ 
    secondArray = array; 
} 

希望するps。

+1

ありがとうParthと@Oscar。 Satyaによる投稿は、私が理解しようとしているものでした。私は彼の提案に従っていますが、ビルドではsetValueメソッドが見つからないという警告が表示されます。 Satyaが述べたように、detailValueメソッドをDetailViewControllerに追加し、RootViewControllerコードのDetailViewControllerに配列を設定しました。 –

+0

@ user991542:うれしい!私はあなたを助けることができた。 :) –

+0

@ user991542:私の答えの** EDIT **セクションを参照してください。 –

0

問題がここにいることです。あなたはDetailControllerをインスタンス化するたびだから、あなたが行うことができます:

myRecordArrayはあなたが合格またはdetailviewコントローラに「注入」する値である
myDetailController.recordArray = myRecordArray 

関連する問題