0

我有一個UITabBarController(嵌入在UINavigationController),它有一些「子」UIViewControllers從TabBarController訪問viewController的屬性

當用戶到達上TabBarController,第一視圖控制器被示出。我在處理TabBarController中的數據,然後在不同的viewControllers中使用它。所以從子ViewControllers訪問TabBarController的屬性不是問題。現在

,我想要做的就是訪問兒童ViewControllers的屬性,我的TabBarController內。

我知道,這樣的事情是可能的遍歷控制器:

for (UIViewController *v in self.viewControllers) 
{ 
    if ([v isKindOfClass:[MyViewController class]]) 
    { 
     // Do something here 
    } 
} 

此代碼的工作,我找到正確MyViewController,但現在我不知道如何訪問其屬性。有人可以給我一個小費,請問這是怎麼回事?

謝謝!

回答

3
for (UIViewController *v in self.viewControllers) 
{ 
    if ([v isKindOfClass:[MyViewController class]]) 
    { 
     MyViewController *myViewControllerObj = (MyViewController *)v; 

     // you can access all the properies here 
     // example: myViewControllerObj.yourPropery; 
    } 
} 
+0

這正是我第一次嘗試,但是這似乎不工作。當我嘗試NSLog一個UILabel的文本時,它向我顯示'(null)'。 –

+0

究竟是什麼(null)? UILabel或其文本屬性? 如果顯示null,那麼在那個時間點probabyl真的是空的。 –

+0

它的文本屬性,即使它已經設置。 –

0

將tye轉換爲您的部門ViewController和訪問屬性。不要將你的頭文件包含在.m文件中。

頁眉:

#import "MyViewController.h" 

型鑄造:

MyViewController *vc = (MyViewController*) v; 
v.myProperty = myValue; 
相關問題