3

我遇到了一个乏味的小问题。

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

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

if(nameOfSwitch.isOn)
{
  NSLog(@"The switch is on");
}
else
{
  NSLog(@"The switch is off");
}

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

NSString *value = [[NSString alloc] initWithFormat:@"Value of Switch %i" nameOfSwitch.on];

然而,这似乎总是返回打开 - 那么正确的方法是什么?

我需要 UISwitch 的 UITextField.text 等价物

4

1 回答 1

10

你可以试试

NSString *value = [[NSString alloc] initWithFormat:@"Value of Switch: %i",nameOfSwitch.isOn];

或者

NSString *value = [[NSString alloc] initWithFormat:@"Value of Switch: %@",nameOfSwitch.isOn?@"YES":@"NO"];

顺便说一句,它应该是

if(nameOfSwitch.isOn)
{
  NSLog(@"The switch is on");
}
else
{
  NSLog(@"The switch is off");
}

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

于 2013-01-10T01:00:49.800 回答