将数组从一个 UIViewController 传递到另一个 ViewController 返回 null
Posted
技术标签:
【中文标题】将数组从一个 UIViewController 传递到另一个 ViewController 返回 null【英文标题】:Passing Array from one UIViewController to other ViewController returning null 【发布时间】:2017-06-19 03:45:37 【问题描述】:我正在尝试将数组从一个 UIViewController
传递到另一个视图控制器。
我尝试使用属性(viewcontroller1.array)。
我尝试了通知(发布通知并添加观察者)。
我试过NSUserDefaults
都返回一个空数组。
【问题讨论】:
添加您尝试过的代码。 Passing Data between View Controllers的可能重复 【参考方案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);
数组数据将被传递
【讨论】:
。我已经尝试了上述类型步骤,但我仍然得到空数组。是否必须像这样“ ViewController2 *aviewcontroller = [self.storyboard instantiateViewControllerWithIdentifier:@"aa"];”。 ?当我给出上述行时,我将无法识别的选择器发送到实例错误。当然,我已经给了我为我的故事板指定的名称的标识符。我在项目中有很多故事板文件?如果我给 self.storyboard 会有什么不同吗? 您是否尝试过使用情节提要的标识符,例如在 UIStoryboard 下面 *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; @sampath,viewConrtoller2
是视图控制器类的名称,因此您需要自己提供。
我已经尝试了下面的代码并且它有效。 **MViewController *nextVC =(MViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"Service"]; **【参考方案2】:
为您的数组定义属性
@Property(nonatomic, retain) NSArray *arrayName;
其次
ViewControllerClassName *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"StoryboardIdentifier"];
controller.array = arrayName;
【讨论】:
以上是关于将数组从一个 UIViewController 传递到另一个 ViewController 返回 null的主要内容,如果未能解决你的问题,请参考以下文章
我需要使用数组将数据从 UITableViewController 传递到 UIViewController
如何以编程方式将 JSON 数组从 UITableViewCell 传递到新的 UIViewController?
Xcode 错误的对象传递给 UIViewController
如何通过按 UIButton 从数组中切换 UIViewController 中的 UIImages