我通过在firstviewcontroller中的viewdidappear中添加代码,将数组从第一个viewcontroller复制到第二个viewcontroller。
secondViewController *xyzVC = [[ContactViewController alloc]initWithNibName:@"firstvc" bundle:nil];
xyzVC.arr = self.tableData;
NSLog(@"tabledata %@",tableData);
NSLog(@"arrdata %@",xyzVC.arr);
arr数据获取与tabledata相同的数据。 但是当我在secondviewcontroller中使用它时,我将获得null值作为arr数据。在第二个viewcontroller中我导入了firstviewcontroller.h并在secondviewcontroller.h文件中编写了代码
@property (strong, nonatomic)NSMutableArray *arr;
和.mfile
我在tableview中使用arr。如果我是alloc init arr我得到空数据,如果不是那么相同的result.i需要分配init或不是,如果是,以前的数据将被覆盖?我我是ios编程的新手帮助我。
答案 0 :(得分:1)
你需要在分配之前为数组分配内存空间,你可以像下面这样做:
secondViewController *xyzVC = [[ContactViewController alloc]initWithNibName:@"firstvc" bundle:nil];
xyzVC.arr = [[NSMutableArray alloc] init];
[aMutArrUserData addObjectsFromArray:self.tableData];
NSLog(@"tabledata %@",tableData);
NSLog(@"arrdata %@",xyzVC.arr);