如何将一个数组通过segue传递给tableviewcontroller
问题描述:
这可能是一个基本问题,虽然我找不到明确的答案。 (我是iOS新手)。如何将一个数组通过segue传递给tableviewcontroller
这是我的故事板的快速方案: navigationcontroller - > detailviewcontroller - > tableviewcontroller
我detailviewcontroller有3个按钮。单击时,他们从服务器解析xml,并将这些元素放在一个数组中(称为文件)。 (到这里一切正常)。所以,当数组被创建时,详细视图会延伸到tableviewcontroller。
现在我的问题:我如何传递在segue上创建的数组,以便我可以在tableviewcontroller类中使用它将值分配给行? (我知道如何分配,但我不知道如何将数组越过SEGUE)
所以我们可以说我有这样的代码:
if ([segue.identifier isEqualToString:@"pdfSeg"]) {
NSMutableArray *pdfArray = [[NSMutableArray alloc]initWithArray:xmlParser.files];
UITableViewController *tvc = [segue destinationViewController];}
我如何告诉SEGUE送pdfArray过来,所以我可以用pdf文件填充行?
非常感谢。
答
考虑将数组作为控制器的模型。将其作为属性传递。另外,你真的想传递一个可变数组吗?你只是传递信息,还是你期望控制器管理对阵列的更改?
所以,你加属性...
从DestinationViewController界面中,添加属性...
@property (nonatomic, strong) NSMutableArray *pdfArray;
合成它在执行...
@synthesize pdfArray = _pdfArray;
然后,从prepareForSeque内提供财产...
tvc.pdfArray = pdfArray;
我在我的reciever segue中添加了属性,但出现错误 - 在UIViewController类型的对象上找不到属性。 – 2013-07-19 03:58:44