【问题标题】:Why do I have to put BOOL in implementation (iOS)为什么我必须将 BOOL 放在实现中(iOS)
【发布时间】:2015-05-01 04:55:18
【问题描述】:

在我的头文件中我做了 BOOL RED;

我需要保存一个 BOOL,以便用户单击 BOOL 一次,然后再也不会。但是,在我放置以下代码时,在 viewDidLoad 中执行时,没有保存任何内容。

RED=[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];

当我放置以下代码时,BOOL 保存...

BOOL RED=[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];

为什么我必须将 BOOL RED 放在 RED 前面才能保存才能工作?如何在不将 BOOL 放在 RED 前面的情况下保存它?这是错的吗?

我不明白为什么我会被否决。我至少可以解释一下出了什么问题吗?

编辑:

-(IBAction)REDbutton:(id)sender{

item.image=[UIImage imageNamed:@"REDthing.png"];

RED=YES;  //BOOL



}

【问题讨论】:

  • 您的投票被否决了,因为您的问题写得非常糟糕并且缺少一些格式。因为它不是很清楚你在问什么。关于在没有任何代码的情况下保存的东西实际上“保存”了任何东西以及 .h 和 .m 文件中的布尔值......
  • 解释是一门艺术!!
  • 我声明我在头文件中声明了一个 BOOL RED。然后在实现文件中,我必须再次输入 BOOL RED 才能“保存”工作。如果我刚刚在实现文件中键入 RED,“保存”将不起作用,我想知道为什么会这样。

标签: ios boolean nsuserdefaults


【解决方案1】:

我不知道你是怎么确定的

BOOL RED=[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];

保存任何东西,因为这行代码不应该保存。它从用户默认值加载一个值。如果要将 BOOL 保存到用户默认值中,则需要执行以下操作:

[[NSUserDefaults standardUserDefaults] setBool:RED forKey:@"save"];
[[NSUserDefaults standardUserDefaults] synchronize];

以这种方式保存后,您可以通过您引用的代码从用户默认值中读取值。你如何阅读它并不重要:RED =BOOL RED =

附: RED 不是变量的合适名称。

【讨论】:

  • 那么代码可以保存。仅在应用程序内部时。当您退出应用程序并再次打开它时,它不会保存。同步部分不应该用于 iOS 8。
  • 我不知道你在说什么
  • BOOL RED=[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];我将该代码放在 viewDidLoad 中。没有其他的。在应用程序中,BOOL 会在 1 次单击后保存。但是,当我关闭应用程序并再次打开时,BOOL 没有保存。
  • 对不起,伙计,我真的听不懂你。为什么要放 BOOL RED=[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];为了节省?它不保存任何东西。它执行完全相反的操作。它从用户默认值读取
  • 我今天尝试了不同版本的 NSUserDefaults StandardUserDefaults,包括您的建议,我也尝试过。它没有用。我为 iOS 8 阅读使用同步是不可靠的。
猜你喜欢
  • 1970-01-01
  • 2017-08-29
  • 2022-01-23
  • 1970-01-01
  • 2021-12-31
  • 2019-10-09
  • 2012-03-05
  • 2014-01-09
  • 2018-08-18
相关资源
最近更新 更多