2012-05-14 76 views
0

我有一個可變的數組值在tableviewcontroller,mapviewcontroller和callingviewcontroller中使用。我一直在更新它們,即。將數據傳遞給視圖控制器

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

是否有表和圖viewcontrollers,這將使他們的指針dataArray的在callingViewController宣佈dataArray中的一種方式?所以我只需要更新一個?

***好吧,我在這裏犯了一個非常愚蠢的錯誤。在某些時候,我改變了初始化,並將其作爲dataArray傳遞給nil,出於某種原因,我有一個「if(!dataArray)create new」子句來隱藏它。

凱恩是正確的。 [dataArray addObject:object atIndex:0];所有需要的都是 。

+0

誰擁有這些視圖控制器?應用程序委託?你的rootView控制器? –

+0

callingviewcontroller擁有tableviewcontroller和mapviewcontroller –

回答

0

您的評論後:

你怎麼樣聲明一個名爲dataArray在您的tableView都和MapView的,也callingView財產。然後,在你callingViewController,你初始化一個叫做可變數組可以說myFirstArray做:

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

這樣,他們都將被指向同一個對象,並改變你在做一個將在其他反映。試一試!

1

這是一個更多的參與,但我認爲將是最好的解決方案。你應該有一些方法讓所有這些不同的ViewController引用管理數據的單個對象。這可能是一個委託,或者它可能是擁有主數據數組的單例。

在這裏或谷歌搜索這兩個條款,你應該能夠開始使用這兩種路線。

0

如果您在AppDelegate類中創建數組,則可以從您的應用程序中的任何其他類訪問。

相關問題