以%i形式获取UISwitch的值

jwk*_*knz 3 objective-c ios

我有一个乏味的小问题.

我需要传递由UISwitch设置的值,因为它是一个布尔值我认为它将返回一个整数,因此我的代码中的%i在下面.

我看了很多UISwitched的值显示如下:

if(nameOfSwitch.isOn)
{
  NSLog(@"The switch is on");
}
else
{
  NSLog(@"The switch is off");
}
Run Code Online (Sandbox Code Playgroud)

我需要布尔值,因为我需要这个:

NSString *value = [[NSString alloc] initWithFormat:@"Value of Switch %i" nameOfSwitch.on];
Run Code Online (Sandbox Code Playgroud)

然而,这似乎始终是开启的 - 所以正确的方法是什么?

我需要相当于UISwitch的UITextField.text

Poc*_*chi 10

你可以试试

NSString *value = [[NSString alloc] initWithFormat:@"Value of Switch: %i",nameOfSwitch.isOn];
Run Code Online (Sandbox Code Playgroud)

要么

NSString *value = [[NSString alloc] initWithFormat:@"Value of Switch: %@",nameOfSwitch.isOn?@"YES":@"NO"];
Run Code Online (Sandbox Code Playgroud)

顺便说一句

if(nameOfSwitch.isOn)
{
  NSLog(@"The switch is on");
}
else
{
  NSLog(@"The switch is off");
}
Run Code Online (Sandbox Code Playgroud)

编辑:如果您看到此开关为ON,并且您没有获得所需的1,那么您的问题可能是您正在调用错误的开关名称或者它不是同一个实例(您在Interface Builder中有一个)你也可以通过代码初始化一个)