NSArray空白 - 在UIViewControllers之间传递

时间:2014-08-23 11:49:24

标签: ios arrays cocoa-touch uiviewcontroller nsarray

我有一个iOS应用程序需要在两个ViewController之间传递NSArray。但是,当NSArray传递给它的空白时....(在视图中传递给它)。

这是我的代码:

查看一个 - 标题文件

// Detail view property - pass data on.
@property (nonatomic, retain) DetailView *data_pass;

查看一个 - 实施文件

@synthesize data_pass;

NSArray *image_iphone = [[res objectForKey:@"results"] valueForKey:@"pictures"];

UIStoryboard *newStoryboard = [UIStoryboard storyboardWithName:view_name bundle:nil];
DetailView *firstvc = [newStoryboard instantiateInitialViewController];
self.data_pass = firstvc;
data_pass.input_image = image_iphone[indexPath.row];
[self presentViewController:firstvc animated:YES completion:nil];

查看两个 - 标题文件

@property (nonatomic, retain) NSArray *input_image;

查看两个 - 实施文件

@synthesize input_image;

NSLog(@"VIEW DID APPEAR LOG: %@\n\n", input_image);

在第一个视图控制器" VIEW ONE"我已经检查了我正在通过的NSArray,它根本不是空白......

这是我在第二个视图控制器中得到的输出" VIEW TWO":

VIEW DID APPEAR LOG: (
)

那么我做错了什么?

1 个答案:

答案 0 :(得分:0)

所以我弄清楚到底出了什么问题。但是,感谢所有留下评论的人,他们帮了很多!!

问题在于两件事:

1)正如@RamaniAshish所说 - 我传递的是indexPath.row而不是整个NSArray。由于某种原因,这意味着数组的内容不会被传递。

2)第二个问题是我的一个if语句检查错误的东西,因此传入的正确数组没有在第二个视图控制器中检查。

感谢所有人帮助开发者:)