在视图控制器之间传递int数组

时间:2014-07-04 15:52:15

标签: objective-c arrays int viewcontroller

我有一个整数数组,我想从一个视图控制器传递到另一个视图控制器。

我可以将字符串从一个视图传递到另一个视图中的标签但是我无法使用int数组执行此操作。

基本上我在viewController_A中声明了以下内容: -

int totalArray [30];

我希望将它传递给viewController_B

3 个答案:

答案 0 :(得分:3)

将一个整数数组和一个字符串从一个ViewController传递到另一个ViewController之间应该没有任何区别。

在ViewControllers之间发送数据相对简单,这是我在ViewControllers之间首次发送数据时发现有用的链接。 Passing Data between View Controllers

确保您的数组声明很强:

@property (nonatomic, strong)NSMutableArray *exampleArray;

编辑:尝试传递整数数组比在NSMutableArray或NSArray中保存值要多得多,因为你不能将c样式数组声明为没有解决方法的属性,如本文所示{ {3}}

如果您查看robottobor在该链接上的答案,您将看到如何将数组实现为属性,但我强烈建议您使用NSMutableArray或NSArray。

答案 1 :(得分:0)

只需在接收视图控制器中创建一个属性:   @property(非原子,强)NSArray *数组

然后在prepareForSegue中访问该属性   destViewController.array = intArray

答案 2 :(得分:0)

在这里,我描述了在两个控制器之间传递数组的简单方法。

假设您需要从controller1到controller2的两个传递数组。

  
      
  1. 在controller2中创建数组。
  2.   
  3. 在controller1中导入controller2文件。
  4.   
  5. 创建controller2文件的对象。
  6.   

代码:

controller2 *cn2 = (controller2 *)[self.storyboard instantiateViewControllerWithIdentifier:@"storyboard_identifier"]; // create object of second controller

    cn2.array_name = array_name; //pass first controller array to second controller

[self.navigationController pushViewController:cn2 animated:YES]; // redirect to second controller

谢谢。