【问题标题】:Xcode: Check if UIButton is hidden, using NSUserDefaultsXcode:检查 UIButton 是否隐藏,使用 NSUserDefaults
【发布时间】:2023-04-01 14:48:01
【问题描述】:

我将如何允许应用保存和加载按钮的当前状态(即,如果它被隐藏,我将如何保存它,以便下次它会被隐藏)?另外,我当前设置了它,以便在按下按钮时,所有其他按钮都不会隐藏。如果您明白我的意思,我该如何设置它,以使某些在 NSUserDefaults 中设置为未隐藏时不会被隐藏?

谢谢

【问题讨论】:

    标签: xcode uibutton save nsuserdefaults hidden


    【解决方案1】:

    您可以查看NSUserDefaults 上的 Apple 文档,以获取您需要的任何其他信息。

     NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
     [defaults setObject:myBool boolForKey:@"hiddenButton"];
     [defaults synchronize];
    

    然后你可以用同样的方式拉它并设置你的隐藏值。

    NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
    myButton.hidden = [defaults boolForKey:@"hiddenButton"];
    

    编辑:

    这将是一种实现方式,但这实际上取决于您想要什么。

    myViewController.h
    
    BOOL myButtonState;
    
    
    myViewController.m
    
    -(void)viewDidLoad {
    
       NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
       myButton.hidden = [defaults boolForKey:@"hiddenButton"];
    
    }
    
    -(IBAction)buttonPressed {
    
      myButtonState = TRUE;
      NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
      [defaults setObject:myButtonState boolForKey:@"hiddenButton"]; 
      [defaults synchronize];
    
    }
    

    【讨论】:

    • 非常感谢!如何在 .h 文件中设置 myBool 值?
    • 我可能只是把它放在你拉按钮状态的地方。 BOOL 按钮状态;然后只需从用户默认值中填充它。如果您在全局范围内需要它,只需以同样的方式声明即可。
    • 没听懂,不明白你的意思?你能提供一些示例代码吗?谢谢!
    • 尝试运行代码时出现 NSException 错误。这里是; pastie.org/2492710。为什么会这样?
    • 我更新了我的代码,但它未经测试。我相信这是因为 bool 不是 -objectForKey 支持的数据类型,所以请尝试使用 -boolForKey。你可能需要修补它,但我相信这就是它在你身上流产的原因。
    猜你喜欢
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多