【发布时间】:2017-06-19 03:45:37
【问题描述】:
我正在尝试将数组从一个 UIViewController 传递到另一个视图控制器。
我尝试使用属性(viewcontroller1.array)。
我尝试了通知(发布通知并添加观察者)。
我试过NSUserDefaults
都返回一个空数组。
【问题讨论】:
-
添加您尝试过的代码。
标签: ios objective-c uiviewcontroller
我正在尝试将数组从一个 UIViewController 传递到另一个视图控制器。
我尝试使用属性(viewcontroller1.array)。
我尝试了通知(发布通知并添加观察者)。
我试过NSUserDefaults
都返回一个空数组。
【问题讨论】:
标签: ios objective-c uiviewcontroller
在 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);
}
数组数据将被传递
【讨论】:
viewConrtoller2 是视图控制器类的名称,因此您需要自己提供。
为您的数组定义属性
@Property(nonatomic, retain) NSArray *arrayName;
其次
ViewControllerClassName *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"StoryboardIdentifier"];
controller.array = arrayName;
【讨论】: