将数据传递给viewcontrollers

时间:2012-05-14 22:20:43

标签: ios

我有一个可变的值数组,用于tableviewcontroller,mapviewcontroller和callingviewcontroller。我一直在更新它们,即。

[dataArray addObject:object atIndex:0];
[tvc. dataArray addObject:object atIndex:0];
[mvc. dataArray addObject:object atIndex:0];

有没有办法在表中声明dataArray并映射viewcontrollers,使它们成为指向callingViewController中dataArray的指针?所以我只需更新一个?

***好的伙计们,我在这里犯了一个非常愚蠢的错误。在某些时候我改变了初始化并传递了nil作为dataArray,并且出于某种原因我有一个“if(!dataArray)create new”子句来隐藏它。

凯恩是对的。     [dataArray addObject:object atIndex:0]; 就是这一切。

3 个答案:

答案 0 :(得分:1)

这有点复杂,但我认为这是最好的解决方案。您应该有一些方法让所有这些不同的ViewControl引用一个管理数据的对象。这可以是委托,也可以是拥有主dataArray的单例。

在这里或谷歌搜索这两个条款,你应该可以开始使用这两个路线。

答案 1 :(得分:0)

如果您在AppDelegate类中创建数组,则可以从应用程序中的任何其他类进行访问。

答案 2 :(得分:0)

发表评论后:

如何在tableView和mapView中声明一个名为dataArray的属性,并调用View。然后,在你的callingViewController中,初始化一个名为myFirstArray的可变数组并执行:

NSMutableArray *myFirstArray = [NSMutableArray array];
self.dataArray = myFirstArray;
myTableView.dataArray = myFirstArray;
myMapView.dataArray = myFirstArray;

这样他们都会指向同一个对象而你在一个对象中做的改变会反映在另一个对象中。试一试!