2012-07-17 77 views
0

首先,我正在使用故事板。 我首先創建了一個由一個類控制的視圖控制器,在這個視圖中,ther是一個文本框,用戶放置一個數字,一個按鈕使用模式將用戶帶到一個帶有兩個「一個」和「兩個」的tabbar控制器,一個「和」兩個「將我們帶到不同的視圖控制器(由同一個類控制),但是都帶有標籤,這個標籤必須呈現用戶在第一視圖中放置在文本框中的值...我只知道如何做到這一點:標籤欄項目不收回變量

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
[prefs setInteger:[mytextfield.text intValue] forKey:@"integerKey"]; 

在一個類中,並且:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
NSInteger mynumber = [prefs integerForKey:@"integerKey"]; 

NSString *mystring = [[NSString alloc] initWithFormat:@"%i", mynumber]; 
mylabelonone.text = mystring; 
mylabelontwo.text = mystring; 
在其他類

...

但是,當我在模擬器中測試它,並單擊按鈕,將我們帶到「一個」標籤是空的,即使如此,當我點擊去「兩個」的項目,標籤與那裏確切的數字!

我試圖改變tabbar控制器中的「一」和「兩個」順序,然後問題發生在「兩個」,一個是完美的!

我不知道會發生什麼......

回答

1

表視圖控制器工作在一個有趣的方式。在標籤之間切換時,可以使用viewWillAppearviewWillDisappear等方法。

所以這個問題就變成了你把代碼行放在哪裏。該代碼將工作,但只有在用戶點擊不同的選項卡之前運行第一個代碼,並且代碼的第二部分在第一個代碼之後運行。

– tabBarController:shouldSelectViewController:tabBarController:didSelectViewController:

另一種方法是導入一個視圖,然後,同時仍然在所述第一與所述第二視圖中設置的變量。

+0

我試着做你的另一種方式做到這一點,但它沒有奏效並不重要,我做了什麼... – 2012-07-17 03:11:21