2013-01-01 70 views
1

我有一個UISwitch,在Value Change上隱藏或取消隱藏一些帶有if語句的UIButton。我想在切換視圖或退出應用程序時保存UIButton的隱藏狀態。我一直在使用嘗試NSUserDefaults的,但它不保存,它只是恢復到我在.storyboard原先設定的狀態保存一個UIButton的隱藏狀態

的.m代碼:

- (IBAction)buttonHidden:(id)sender { 

NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults]; 
[Defaults setBool:china.hidden forKey:ChinaChanged]; 
[Defaults setBool:japan.hidden forKey:JapanChanged]; 
[Defaults setBool:french.hidden forKey:FrenchChanged]; 
[Defaults setBool:spanish.hidden forKey:SpanishChanged]; 
[Defaults synchronize]; 

} 

.M的viewDidLoad代碼:

- (void)viewDidLoad { 

[super viewDidLoad]; 

NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults]; 
china.hidden = [Defaults boolForKey:ChinaChanged]; 
japan.hidden = [Defaults boolForKey:JapanChanged]; 
french.hidden = [Defaults boolForKey:FrenchChanged]; 
spanish.hidden = [Defaults boolForKey:SpanishChanged]; 

} 

我不知道我可以在哪裏連接IBAction以使其工作。

這是我的,如果對於UISwitch語句代碼:

(IBAction)switchTheSwitch:(id)sender { 
if (Languages.on) { 
    china.hidden = NO; 
    japan.hidden = NO; 
    french.hidden = NO; 
    spanish.hidden = NO; 
} 

else { 
    china.hidden = YES; 
    japan.hidden = YES; 
    french.hidden = YES; 
    spanish.hidden = YES; 

    } 
} 

誰能幫助我。

回答

1

林不知道我跟着但對我來說,似乎所有你缺乏的是buttonHidden一個電話使違約得到實際保存

只是做

-(IBAction)switchTheSwitch:(id)sender { 
    if (Languages.on) { 
     china.hidden = NO; 
     japan.hidden = NO; 
     french.hidden = NO; 
     spanish.hidden = NO; 
    } 
    else { 
     china.hidden = YES; 
     japan.hidden = YES; 
     french.hidden = YES; 
     spanish.hidden = YES; 
    } 
    [self buttonHidden:sender]; 
} 
+0

太感謝你了。我不敢相信我錯過了1行代碼。 – imackid

+0

有沒有一種方法,我可以把開關在不同的視圖,並讓它工作 – imackid

+0

當然,網點可以指向不同的意見..但我想你的意思是ViewControllers!? –