【问题标题】:how to save slidervalue and label value in nsuserdefaults or any other efficient way?如何以 nsuserdefaults 或任何其他有效方式保存滑块值和标签值?
【发布时间】:2009-10-14 11:29:20
【问题描述】:

我有一个带有一个滑块和一个标签的视图。我在标签上显示倒计时并使用滑块在标签上设置时间。现在假设我已经启动了计时器,因此标签的值每分钟都在减少,滑块的值也在减少.现在我想如果我关闭我的应用程序然后重新打开计时器应该已经在运行+标签的值是根据时间+滑块值是根据时间?这是我在做什么的图像

【问题讨论】:

    标签: objective-c xcode iphone-sdk-3.0 nsuserdefaults uislider


    【解决方案1】:

    我不确定我是否遗漏了一些东西,但是在 NSUserDefaults 中存储东西非常容易。保存滑块的值:

    [[NSUserDefaults standardUserDefaults] setFloat:[mySlider value] forKey:@"sliderValue"];
    

    保存标签的值:

    [[NSUserDefaults standardUserDefaults] setValue:[myLabel text] forKey:@"textValue"];
    

    要恢复它们,只需将其反转:

    [mySlider setValue:[[NSUserDefaults standardUserDefaults] floatForKey:@"sliderValue"]];
    

    就个人而言,我不会保存剩余时间的字符串表示形式,只保存浮点数。然后,您可以使用用于将浮点值转换为字符串表示的任何现有代码来恢复计时器的文本。

    【讨论】:

    • 我在 viewDidLoad 方法中在哪里检索它们?这还会倒计时吗?我如何节省剩余的时间
    • 我在哪里保存值在应用程序将终止或在视图的 dealloc 方法中
    • 在现有架构中的方便点保存和恢复。我假设您已经有了设置计时器和更新滑块的方法,所以这些地方看起来很明显。这完全取决于您的代码。
    猜你喜欢
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    相关资源
    最近更新 更多