如何将数组从一个视图控制器传输到另一个视图?

我开发了一个应用程序。 在其中,我需要将数组从一个类型的控制器传输到另一个类型的控制器。

我怎样才能做到这一点?
已邀请:

莫问

赞同来自:

您可以通过定义第二个文件中数组的属性来执行此操作。 viewcontrollers .h, 例如:


@interface SecondViewController : UIViewController 
@property/nonatomic, strong/NSArray *array;
@end


现在B. FirstViewconrtoller 刚刚通过它


SecondViewController *controller = [[SecondViewController alloc]....]
controller.array = yourArray.//the array you want to pass

窦买办

赞同来自:

我不会直接将链接返回到数组
return _theArray;

. 这通常是一个错误的代码设计。 您的问题的最佳解决方案是:

在文件中 .h 您的第一个控制器:


@interface FirstViewController : UIViewController
{
NSArray *_theArray;
}

- /NSArray */theArray;


在文件中 .m 您的第一个控制器:


- /NSArray */theArray
{
return [NSArray arrayWithArray:_theArray];
}


在第二个控制器的代码中,您想要的各处:


NSArray *fooArray = [firstControllerReference theArray];


请记住,在此示例中引用存储在的对象
fooArray

, 和一样的
theArray

. 因此,如果更改对象
fooArray

, 它也将改变
theArray

.

小姐请别说爱

赞同来自:

只是在文件中声明它们 .h &, 分配它们属性 nonatomic &, 然后合成它们。 现在创建一个类对象 & 访问此数组 :/ 很简单 :/

喜特乐

赞同来自:

在 swift 你

第一的 Viewcontroller
在 prepare


var yourArray = [String]//
yourArray.append/"String Value"/
let testEventAddGroupsViewController = segue.destination as!
TestEventAddGroupsViewController
testEventAddGroupsViewController.testEvent = yourArray


在将控制器的第二个提交中作为全局变量


var testEvent = [String]//

要回复问题请先登录注册