【问题标题】:IOS Swift defining own app-settings in own classIOS Swift 在自己的类中定义自己的应用程序设置
【发布时间】:2015-05-19 03:58:29
【问题描述】:

我是 Swift 和 X-Code 的新手。我正在寻找一种导入自己定义的类的方法(最好的情况是在自己的文档中)。我想在这个文件中存储所有需要的设置(text-sn-ps 和 app-settings)。例如:

class snippetsAndSettings {
    // e.g translations
    let t_welcome: String   = "Welcome to my App"
    let t_share: String     = "Social Share Buttons"
    let t_rate: String      = "Rate"

    // e.g settings 
    let s_weburl: String    = "http://www.mypage.com/webservice.php"
    let s_slider: Bool      = false
    let s_bgColor: String   = "#ff9900"
    let s_tColor: String    = "#222222"
    let t_shadow: String? // Bool or colorString!
}

我想在每个应用程序页面上使用这个类。但我无法在 ViewController.swift 中导入 for 例如

我的问题:

  1. 我必须以哪种格式保存文件 (sn-psAndSettings)?可可类
  2. 如何在 ViewController.Swift 中导入文件
  3. 这是在 Swift 中存储自己的应用设置的常用方法吗?

【问题讨论】:

    标签: xcode cocoa swift


    【解决方案1】:

    存储设置的方法是通过NSUserDefaults。您可以在应用程序委托的 application:didFinishLaunchingWithOptions: 方法中设置默认值。例如:

    NSUserDefaults.standardUserDefaults().registerDefaults([
        "volume": 100,
        "showShadows": true
        ])
    

    要取回这些,您可以:

    NSUserDefaults.standardUserDefaults().integerForKey("volume")

    NSUserDefaults.standardUserDefaults().boolForKey("showShadows")

    在 Swift 5 中,它现在看起来像这样:

    UserDefaults.standard.register(defaults: [
      "volume": 100,
      "showShadows": true
    ])
    

    然后把它找回来

    let volume = UserDefaults.standard.integer(forKey: "volume")
    let showShadows = UserDefaults.standard.bool(forKey: "showShadows")
    

    如需翻译,请查看Internationalization and Localization

    【讨论】:

    • 它不是翻译,该应用程序只有一种语言。我只是不喜欢我的代码中的“字符串”。
    • 我个人不建议使用带有字符串的静态对象,而是宁愿只使用一种语言进行本地化,并且仍然使用NSLocalizedString 方法。不过,我会留给你的
    • 了解如何导入静态类。我想知道如何导入它们。我在我的项目文件夹中创建了一个 Swift 文件“sn-psAndSettings”,并将类 sn-psAndSettings 添加到其中。当我在“import Foundation =>import sn-psAndSettings”下输入 Viewcontroller.swift 时,我收到错误“No such module...”
    • 应用程序中的每个目标都是它自己的 swift 模块。这意味着您将能够从同一目标内的任何其他文件中“看到”您的 snippetsAndSettings 类。见Modules and Source Files
    • 感谢您的帮助。我刚刚实例化了“sn-psAndSettings”。它工作正常。
    猜你喜欢
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2013-10-06
    • 1970-01-01
    相关资源
    最近更新 更多