我有两个 View Controller 类Class A和Class B在Class A 中有一个 UIswitch ,取决于它是打开还是关闭,当在 Class B 中单击按钮时,它应该会导致在 Class B 中执行一些操作。
我想要做的是将开关的状态保存在A 类中,然后将其检索到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的结果无关, 即即使开关关闭。
谁能指出我的错误是什么?