Cocoa touch 如何通过切换开关应用设置?
可能重复:Cocoa touch 如何通过切换开关应用设置?,cocoa-touch,ios,button,switch-statement,Cocoa Touch,Ios,Button,Switch Statement,可能重复: 嗨,我有两个观点 第一个视图包含主功能,第二个视图用于让用户更改第一个视图上的设置 我在第二个视图中插入了一个开关,以允许用户更改第一个视图上的设置 我有两个问题,如何使用开关设置值的是和否?然后,基于这个值 第一种观点会有不同的反应吗 注意:我使用导航方法更改视图,而不是添加子视图 提前谢谢 假设我有以下代码 第一视图 - (IBAction) addValue:(id)sender { aValue ++; } //the following will react accord
嗨,我有两个观点 第一个视图包含主功能,第二个视图用于让用户更改第一个视图上的设置 我在第二个视图中插入了一个开关,以允许用户更改第一个视图上的设置 我有两个问题,如何使用开关设置值的是和否?然后,基于这个值 第一种观点会有不同的反应吗 注意:我使用导航方法更改视图,而不是添加子视图 提前谢谢 假设我有以下代码 第一视图
- (IBAction) addValue:(id)sender
{
aValue ++;
}
//the following will react according to the setting on second view
If (????//Don't know what to put here to represent the switch is ON or OFF)
{ //whatever action}
else
{//whatever action}
第二视图
@interface
//declaration of the switch
- (IBAction) changeMode:(id)sender
@end
第二视图
-(IBAction) changeMode:(id)sender
{
//What to put here to switch ON and OFF ??
}
您可以这样做:
if ( self.mySwitch.on )
// do something
这里我假设mySwitch是UISwitch的一个实例。最好将开关值存储到NSUserDefaults,以便您可以从另一个视图检索它
以下是存储值的方式:
NSString *switchValue;
if ( self.mySwitch.on )
switchValue = @"YES";
else
switchValue = @"NO";
[[NSUserDefaults standardUserDefaults] setObject:switchValue forKey:@"switchValue"];
[[NSUserDefaults standardUserDefaults] synchronize];
BOOL switchState = [[[NSUserDefaults standardUserDefaults] objectForKey:@"switchValue"] boolValue];
以下是检索值的方式:
NSString *switchValue;
if ( self.mySwitch.on )
switchValue = @"YES";
else
switchValue = @"NO";
[[NSUserDefaults standardUserDefaults] setObject:switchValue forKey:@"switchValue"];
[[NSUserDefaults standardUserDefaults] synchronize];
BOOL switchState = [[[NSUserDefaults standardUserDefaults] objectForKey:@"switchValue"] boolValue];
您可以这样做:
if ( self.mySwitch.on )
// do something
这里我假设mySwitch是UISwitch的一个实例。最好将开关值存储到NSUserDefaults,以便您可以从另一个视图检索它
以下是存储值的方式:
NSString *switchValue;
if ( self.mySwitch.on )
switchValue = @"YES";
else
switchValue = @"NO";
[[NSUserDefaults standardUserDefaults] setObject:switchValue forKey:@"switchValue"];
[[NSUserDefaults standardUserDefaults] synchronize];
BOOL switchState = [[[NSUserDefaults standardUserDefaults] objectForKey:@"switchValue"] boolValue];
以下是检索值的方式:
NSString *switchValue;
if ( self.mySwitch.on )
switchValue = @"YES";
else
switchValue = @"NO";
[[NSUserDefaults standardUserDefaults] setObject:switchValue forKey:@"switchValue"];
[[NSUserDefaults standardUserDefaults] synchronize];
BOOL switchState = [[[NSUserDefaults standardUserDefaults] objectForKey:@"switchValue"] boolValue];
嗯,对不起,有什么可以与我的代码相关的吗?好的,我编译它没有问题,但我发现当我切换到关闭后切换回第一个视图,再次切换到第二个视图(开关按钮所在的位置)时,它没有存储状态,它仍然“打开”。在用户首先更改后,您应该通过读取NSUserDefaults来设置viewDidLoad方法中的开关。嗯,对不起,有什么可以与我的代码相关的吗?好的,我编译它没有问题,但我发现,当我切换到关闭开关后切换回第一个视图,然后再次切换到第二个视图(开关按钮所在的位置)它不存储状态,它仍然是“开”的。您应该在用户首先更改开关后,通过读取NSUserDefaults来在viewDidLoad方法中设置开关。