0

iOS 開発は初めてで、NSMutableArray をあるビューコントローラーから別のビューコントローラーに渡したいのですが、常に null 値が返されます

FirstViewController.h

@interface FirstViewController : UIViewController

@property (nonatomic, retain) NSMutableArray *colorArray;
-(IBAction)btn:(id)sender;

FirstViewController.m

@implementation FirstViewController


-(IBAction)btn:(id)sender
{


  SecondViewController* secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

    secondViewController.animalArray = self.colorArray;

    NSLog(@"%@",secondViewController.animalArray); // here its not null

    [self.navigationController pushViewController:secondViewController animated:YES];

}

SecondViewController.h

@interface SecondViewController : UIViewController

@property (nonatomic, retain) NSMutableArray *animalArray;

SecondViewController.m

私は NSLog(@"animalArray:%@",self.animalArray); のみを使用しました。viewDidLoad で値をチェックしますが、null を返します

私が欠けているものはありますか?

編集 :

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"indidLoad%@",self.animalArray);


}

- (void)viewWillAppear:(BOOL)animated 
{
    [super viewWillAppear:animated];

    NSLog(@"inwillAppear%@",self.animalArray);


 }
4

6 に答える 6

0

それはうまくいくはずです

-(IBAction)btn:(id)sender
{


    SecondViewController* secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

    NSLog(@"%@",secondViewController.animalArray); // here its not null

    [self.navigationController pushViewController:secondViewController animated:YES];
    secondViewController.animalArray = self.colorArray;

}

ビューをプッシュする前に値を渡すと、2 番目のビューで null 値が返されることがあります

于 2013-07-25T11:33:39.903 に答える
0
    **FirstViewController.h**

@interface FirstViewController : UIViewController
{
    NSMutableArray *SongArray;
}
@property(nonatomic,retain)NSMutableArray *SongArray;

**FirstViewController.m**

    SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];    
    secondView.SongArray = self.SongArray;

    [self.navigationController secondView animated:YES];


    **SecondViewController.h**

    @interface SecondViewController : UIViewController
    {
        NSMutableArray *SongArray;
    }
    @property(nonatomic,retain)NSMutableArray *SongArray;

このようにすると、あなたの価値観は保持されません。あるView ControllerにNSMutableArrayを別のView Controllerに渡すことも確認してください

于 2013-07-25T10:28:31.050 に答える
0

viewWillAppearの代わりに値を確認してくださいviewDidLoad

于 2013-07-25T10:28:57.797 に答える