2012-04-17 37 views
0

这可能是一个基本问题,虽然我找不到明确的答案。 (我是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文件填充行?

非常感谢。

回答

3

考虑将数组作为控制器的模型。将其作为属性传递。另外,你真的想传递一个可变数组吗?你只是传递信息,还是你期望控制器管理对阵列的更改?

所以,你加属性...

从DestinationViewController界面中,添加属性...

@property (nonatomic, strong) NSMutableArray *pdfArray; 

合成它在执行...

@synthesize pdfArray = _pdfArray; 

然后,从prepareForSeque内提供财产...

tvc.pdfArray = pdfArray; 
+0

我在我的reciever segue中添加了属性,但出现错误 - 在UIViewController类型的对象上找不到属性。 – 2013-07-19 03:58:44

相关问题