2012-01-12 58 views
0

我有一個UIViewController(firstViewController),它有一個按鈕'segue的另一個UIViewController(secondViewController)。第一次secondViewController出現我想要一個UIAlertView出現。現在我認爲這會很容易 - 我想我只是創建一個布爾變量,並在第一次顯示UIAlertView後將其設置爲1。不過,我現在意識到,每次用戶回頭(到firstViewControllerand),然後再次點擊按鈕以顯示secondViewController時,布爾變量將重新初始化。即使UIViewController解除分配,保留布爾值(或一般變量)

這種事情的最佳做法是什麼?

感謝您的幫助!

亞歷

+0

查找到全局變量,我認爲這可能是你所需要的.. – 2012-01-12 22:05:20

回答

0

這是一個偉大的使用情況NSUserDefaults。這允許您以方便訪問的方式存儲BOOLint,floatNSString,NSDate等。

設置BOOL使用

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; 
BOOL seenIt = [defaults boolForKey:@"seenIt"]; 
+0

太好了,謝謝! – 2012-01-12 22:44:31

+0

@PengOne我的回答中的差異是,我沒有看到你的,直到我發佈後,它不是一個副本,即使相當相似。但是由於我的回答是多餘的,我已經刪除了它。 – zaph 2012-01-12 23:03:00

+0

@CocoaFu我不認爲這是一個副本,只是以爲我真的錯過了什麼。 – PengOne 2012-01-12 23:04:58

0

雖然其他解決方案可使用

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setBool:YES forKey:@"seenIt"]; 
[defaults synchronize]; 

和檢索的話,我會用即

一個更容易的解決方案添加另一C頭文件稱爲常量並初始化整型變量

int buttonPressed; 

然後在firstViewController

#include constants.h 

按鈕按下methood

buttonPressed =buttonpressed+1; 

然後在secondViewController

#include Constants.h 

if(buttonPressed==1) 
{ 
///Show alert View 
}