【问题标题】:objective-c - using a boolean value from one class in another classobjective-c - 使用另一个类中的一个类的布尔值
【发布时间】:2012-04-07 09:40:35
【问题描述】:

我环顾四周,找不到这个问题的明确答案。所以我在这里问。我有两节课。 A 类和 B 类。我在 ClassB 中有一个布尔值。我在 ClassA 中有一个方法,它正在查找 ClassB 中的该值是否为 True,以便触发该方法。我不确定如何让 ClassA 看到该值。任何帮助都会很棒。提前致谢!

【问题讨论】:

  • 是否需要A类的方法在B类的值发生变化时立即触发?如果是这样,我会看看观察者模式。
  • 您显然是指您有这些类的两个实例,对吧?因为类本身不保存任何数据,它们只是从这些实例化的对象的“蓝图”......
  • 也许吧。我在 ClassA 中有一个按钮,单击它会触发 ClassB 中的方法,该方法中有一个 if/else 语句,它正在寻找布尔值是否为真/假。我得到了触发的方法,但它总是说 bool=false,当它在另一个类中设置为 true 时
  • 在 B 类中定义一个布尔属性并使用 if 语句检查它有什么问题?!!还是使用 NSUserDefaults 来存储它?
  • @donutdude246 - 你的评论说你的代码总是发现这个值是假的,所以你正试图以某种方式访问​​它。在您的问题中添加 A 类中 bool 的定义、A 类对 B 类中方法的调用以及 B 类方法显示尝试的访问。有了这些细节,也许有人可以帮助你。

标签: iphone objective-c ios class boolean


【解决方案1】:

小心“全局定义”。 如果您的班级必须保存用户设置,您可以使用: 保存:

 NSUserDefaults *pref = [NSUserDefaults standardUserDefaults];
 [pref setBool:YES forKey:@"AudioIsON"];
 [pref synchronize];

阅读:

BOOL myBooleanSetting = [[NSUserDefaults standardUserDefaults] boolForKey:@"AudioIsON"];

不如学习委托和属性。

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多