我在RootViewController类中加载了一个数组(recordArray),我需要将其传递给DetailViewController类,以便我可以访问其中的任何变量。我可以成功传递一个值,但我无法知道如何传递整个数组。
我在DetailsViewController.h中创建了第二个NSMutableArray recordArray,添加了@property语句(带保留),并在DetailsViewController.m中合成。然后我在DetailsViewController.m中添加了以下行
recordArray = [[NSMutableArray alloc] initWithArray:self.recordArray];
但是这只是在详细视图中给我一个空数组。
我已经阅读了一些关于此的帖子,但没有找到任何我能够理解的能够实现的内容。我希望我这一切都错了......
提前感谢您的帮助。
答案 0 :(得分:2)
请参阅此代码:
iPhone SDK: How do I pass an array of values from a ViewController onto other ViewController?
你可以参考 Satya 的回答。
如果您需要更多帮助,请告诉我
修改强>
我们假设在NSArray
secondArray
SecondViewController
在SecondViewController中定义一个方法:
-(void)setValue:(NSArray *)array
{
secondArray = array;
}
希望这有帮助。
答案 1 :(得分:0)
问题在于:
recordArray = [[NSMutableArray alloc] initWithArray:self.recordArray];
您只是分配相同的属性recordArray
,此时可能是nil
,您要做的是依赖注入。因此,只要您实例化DetailController
,就可以执行以下操作:
myDetailController.recordArray = myRecordArray
其中myRecordArray
是您要在detailview控制器中传递或“注入”的值。