【发布时间】:2012-12-18 08:29:57
【问题描述】:
我有两个视图控制器类 A 类 & B 类 Class A 中有一个 UIswitch,取决于它是打开还是关闭,当在 中单击按钮时,它应该会导致在 Class B 中执行一些操作B类。
我要做的是将开关的状态保存在 Class A 中,然后将其检索到 Class B
在A类我做了以下保存开关的状态
NSUserDefaults *switchState=[NSUserDefaults standardUserDefaults];
if(self.switch.on){
[switchState setBool:YES forKey:@"ON"];
}
else {
if (!self.switch.on){
[switchState setBool:NO forKey:@"OFF"];
}
}
[[NSUserDefaults standardUserDefaults]synchronize];
在 B 类中,我检查开关的状态并根据状态执行操作。我在 Class B 中使用了以下代码。
-(void)whenButtonPressed{
if([[NSUserDefaults standardUserDefaults] objectForKey:@"ON"]){
// Perform Some action
}else if ([[NSUserDefaults standardUserDefaults] objectForKey:@"OFF"]){
//Perform Some other action
}
}
在A类中,当开关打开或关闭时,它满足正确的If或Else If条件块
但在 Class B 中,它只满足第一个 If 条件,而与 Class A 中的结果无关,即即使打开了开关关闭。
谁能指出我的错误是什么?
【问题讨论】:
标签: ios xcode model-view-controller view uiswitch