我正在开发一个应用程序。在其中,我需要从一个视图控制器传递一个数组到另一个视图控制器。
我该怎么做?
我正在开发一个应用程序。在其中,我需要从一个视图控制器传递一个数组到另一个视图控制器。
我该怎么做?
@interface SecondViewController : UIViewController
@property(nonatomic, strong)NSArray *array;
@end
SecondViewController *controller = [[SecondViewController alloc]....]
controller.array = yourArray.//the array you want to pass
return _theArray;
。这通常是糟糕的编码设计。解决你的问题的更好方法是:
在你的第一个控制器的.h文件中:
@interface FirstViewController : UIViewController
{
NSArray *_theArray;
}
- (NSArray *)theArray;
- (NSArray *)theArray
{
return [NSArray arrayWithArray:_theArray];
}
并且在你的第二个控制器代码中任何你想要的地方:
NSArray *fooArray = [firstControllerReference theArray];
fooArray
中的对象引用与存储在theArray
中的对象引用相同。因此,如果您修改fooArray
中的对象,则theArray
中的对象也将被修改。在.h文件中声明它们,并为它们分配nonatomic和retain属性,然后synthesize它们。现在创建类的对象并访问该数组:)非常简单 :)
在 Swift 中,你
准备工作中的第一个视图控制器
var yourArray = [String]()
yourArray.append("String Value")
let testEventAddGroupsViewController = segue.destination as!
TestEventAddGroupsViewController
testEventAddGroupsViewController.testEvent = yourArray
var testEvent = [String]()