【问题标题】:Creating an "App wide constant" [closed]创建“应用程序范围常量”[关闭]
【发布时间】:2011-10-03 07:45:34
【问题描述】:

我想在我的应用程序的第一个屏幕上进行设置切换。此设置切换将控制可以在不同视图中引用的“变量”。例如,在我的主视图(显示应用程序加载时间的第一个视图)上,我有一个表格。每个单元格加载不同的视图。我想在我的主视图上进行切换,这将改变其他视图的显示方式(具体的文本颜色和背景图像)。

【问题讨论】:

  • ...到目前为止,您尝试了什么?

标签: iphone objective-c view settings uiwindow


【解决方案1】:

【讨论】:

    【解决方案2】:

    一种广泛使用的解决方案是创建一个singleton object,例如Config。这将包含所有需要在应用范围内可用的变量和相应的属性。

    另一种解决方案是在 C 中使用全局变量,但这里的问题是,如果您希望在分配给变量时发生特殊的事情,则不会有一个 setter 方法可以覆盖(除非您专门创建一个) .所以单例是首选。

    例如,您可以覆盖属性的 getter 和 setter 以读取/写入 NSUserDefaults 而不是变量,从而使设置自动持久化。

    【讨论】:

      【解决方案3】:

      您可以使用 NSUserDefaults。它的生命周期等于应用的生命周期。因此,一旦创建它,​​您就可以随时检查和更改它的值,并且可以在任何类中访问它的值。

      NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
      [defaults setValue:@"AppSettings" forKey:@"Settings"];
      [defaults synchronize];
      

      【讨论】:

      • 我最终使用了 NSUserDefauts,它们的工作原理就像一个魅力 :-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      相关资源
      最近更新 更多