ビュー コントローラ 2 で NSMutableArray を作成し、その保持プロパティを宣言します。
@interface VC2 : UIViewController
{
NSMutableArray *mutableArrayInVC2
}
@property (nonatomic, retain) NSMutableArray *mutableArrayInVC2
次に、View Controller で次のように渡すことができます。
viewController2Instance.mutableArrayInVC2 = mutableArrayInVC1
そして、それをリリースしても安全です:
[mutableArrayInVC1 release];
[コメントに対応するために編集]
mutableArrayInVC2 の保持プロパティを宣言し、mutableArrayInVC1 をそれに渡すと、「舞台裏で」以下のようにセッター メソッドを介して変数にアクセスします。
-(void)setMutableArrayInVC2:(NSMutableArray *)arrayValue
{
[arrayValue retain]; // This is your mutableArrayInVC1
[mutableArrayInVC2 release]; // This is nil the first time you access it which is cool - we can send messages to nil in ObjC
mutableArrayInVC2 = arrayValue; // So basically you end up doing and assignment but only after retaining the object so it is pointing to the same memory address BUT it is now 'owned' by your VC2 instance.
}
それが理にかなっていることを願っています!ログ