2012-05-20 59 views
0

我找不出以下內容。我的應用程序在啓動時,默認隱藏了5張圖片,稍後會在代碼中隱藏它們。他們中有一些。我試圖設置BOOL爲NSUserDefaults退出應用程序存儲信息,其中圖片仍然隱藏,所以下次啓動的應用程序假設檢查從上次啓動顯示多少圖片,並將這些圖片的隱藏方法設置爲NO發射。意思是,如果顯示5箇中的3個,我需要下3張相同的圖片。NSUserDefaults和.hidden狀態

下面是我得到了什麼:

app.h

BOOL doneState; 

app.m

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

doneState = TRUE; 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
done.hidden = [defaults boolForKey:@"hiddenDone"]; 
} 

... 
.. 
. 

//---- When quitting app, save defaults (one example) 

-(IBAction)flipBack:(id)sender{ 

doneState = TRUE; 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setBool:doneState forKey:@"hiddenDone"]; 
[defaults synchronize]; 
NSLog(@"Data Saved"); 

[self dismissModalViewControllerAnimated:NO]; 
} 

的NSLog打印 「數據保存」 退出應用程序時,但啓動應用程序時再次,所有的圖片都隱藏起來...

有人可以請指點我正確的方向,我做錯了什麼 這裏?

謝謝! A.

回答

0

好的,我自己管理。有下面的代碼,如果有人需要:

或者Controller.h

BOOL doneState; 

Controller.m或者

//------ save data 
if (img.hidden == NO) { 
    doneState = NO; 
} 
else { 
    doneState = YES; 
} 

[[NSUserDefaults standardUserDefaults] setBool:doneState forKey:@"hiddenDone"]; 
NSLog (@"Value of BOOL 1 = %@", doneState ? @"YES" : @"NO"); 

//display on load 
BOOL saved = [[NSUserDefaults standardUserDefaults] boolForKey:@"hiddenDone"]; 
NSLog (@"Value of my saved BOOL = %@", saved ? @"YES" : @"NO"); 
img.hidden = saved; 

希望幫助! A.

相關問題