将Array从一个UIViewController传递给另一个返回null的ViewController

时间:2017-06-19 03:45:38

标签: ios objective-c uiviewcontroller

我正在尝试将Array从一个UIViewController传递到另一个viewcontroller。 我尝试使用property(viewcontroller1.array)。 我尝试过通知(发布通知和添加观察者)。 我试过NSUserDefaults 所有都返回一个空数组。

2 个答案:

答案 0 :(得分:1)

来自数组的ViewController 1中的

是传递

@interface demopreseViewController () {
    NSArray* nameArr;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    nameArr = [NSArray arrayWithObjects: @"Jill Valentine", @"Peter Griffin",nil];
    NSLog(@"%@",nameArr);

}

- (IBAction)PresentAction:(id)sender {
    ViewController2 *aviewcontroller = [self.storyboard instantiateViewControllerWithIdentifier:@"aa"];
    aviewcontroller.array1 = nameArr;
    [self presentViewController:aviewcontroller animated:YES completion:nil];
}

在viewController 2中传递数组

ViewController2.h下的

@property (strong, nonatomic) NSArray *array1;
ViewController2.m下的

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"parsed%@",_array1);
}

将传递数组数据

答案 1 :(得分:0)

定义您的阵列的属性

@Property(nonatomic, retain) NSArray *arrayName;

其次

ViewControllerClassName *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"StoryboardIdentifier"];
controller.array = arrayName;