我有一个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: (
)
那么我做错了什么?
答案 0 :(得分:0)
所以我弄清楚到底出了什么问题。但是,感谢所有留下评论的人,他们帮了很多!!
问题在于两件事:
1)正如@RamaniAshish所说 - 我传递的是indexPath.row而不是整个NSArray。由于某种原因,这意味着数组的内容不会被传递。
2)第二个问题是我的一个if语句检查错误的东西,因此传入的正确数组没有在第二个视图控制器中检查。
感谢所有人帮助开发者:)