【问题标题】:iPhone slider save user preferenceiPhone滑块保存用户偏好
【发布时间】:2011-05-24 03:06:17
【问题描述】:

我需要在我的 Settings.bundle 中保存一个滑块首选项。

我正在使用以下代码写入 Settings.bundle:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:mySlider.value forKey:@"TimerSliderKey"];
[defaults synchronize];

从 Settings.bundle 中读取以下代码:

NSUserDefaults *defaults2 = [NSUserDefaults standardUserDefaults];
int valueForSlider = [defaults2 integerForKey:@"TimerSliderKey"];
NSLog(@"The saved slider value is %@" , valueForSlider);

此代码不起作用。谁能给我一些我可以使用的替换代码?

【问题讨论】:

    标签: iphone objective-c xcode settings preferences


    【解决方案1】:

    你的问题在这里:

    NSLog(@"The saved slider value is %@" , valueForSlider);
    

    您需要使用%d 格式说明符,%@ 是将description 消息发送到参数的格式说明符。

    NSLog(@"The saved slider value is %d" , valueForSlider);
    

    以下是格式说明符列表:

    请参阅String Programming Guide 了解更多信息。

    【讨论】:

      【解决方案2】:

      另一个,也许是真正的问题是 UISlider 的默认值范围是 0.0 到 1.0。将其存储为整数,由于截断,您只会看到 0 或 1。

      您应该将其存储为浮点数,以完全保留滑块的值。

      【讨论】:

      • 感谢您的输入(+1),我之前已将时间设置为 0.0 到 10.0。
      • 那么你只会得到0,1,2,3...10的值,该值的浮点部分仍然会丢失。如果这是故意的,那么这不是问题。否则,您应该将该值存储为浮点数,以避免丢失部分用户偏好。
      【解决方案3】:

      使用这个...

      [**yourslider** addTarget:self action:@selector(sliderValueChanged:)
                                 forControlEvents:UIControlEventValueChanged];
      
      if ([[NSUserDefaults standardUserDefaults]floatForKey:@"value"]) {
      
          yourslider.value= [[NSUserDefaults standardUserDefaults]floatForKey:@"value"];
      
        }
      
      
      **--save your value in this method**
      
      -(IBAction)sliderValueChanged:(UISlider *)sender
      {
      
          NSLog(@"slider value = %f", sender.value);
      
      
         [[NSUserDefaults standardUserDefaults]setFloat:sender.value forKey:@"value"];
      
      }
      

      【讨论】:

        猜你喜欢
        • 2019-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-01
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        相关资源
        最近更新 更多