IOS Swift 在自己的 class 中定义自己的应用程序设置

IOS Swift defining own app-settings in own class

我是 Swift 和 X-Code 中的新成员。我正在寻找一种导入自己定义的 class 的方法(最好是在自己的文档中)。我想在此文件中存储所有需要的设置(文本片段和应用程序设置)。例如:

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!
}

我想在每个应用页面上使用这个 class。但是我无法在 ViewController.swift

中导入 for 例如

我的问题:

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

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

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

要取回这些,您可以这样做:

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

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

在Swift5中,现在看起来是这样的:

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