NSUserDefaults 效率不高吗?

Is NSUserDefaults Not Efficient?

在我的 iOS 应用程序中,我有在应用程序 运行 时间跨多个视图控制器显示的静态字符串数据。我目前正在使用 NSUserDefaults 在本地存储数据以供以后访问,但我怀疑这是否是最佳的处理方式。

或者,如果我有 secondViewController.swift

let nameText  = ""
let nameLabel = UILabel()

override func viewDidLoad() {
    super.viewDidLoad()

    nameLabel.text = nameText
}

firstViewController.swift 中我做了这个

override func viewDidLoad() {
    super.viewDidLoad()

    let secondVC = secondViewController(nibNamed: "secondViewController", bundle: nil)
    secondVC.nameText = "John Doe"
}

就保持数据不陈旧而言,以上是否是最佳选择?

一般来说,NSUserDefaults 旨在用于在应用 次运行之间存储少量信息,而不是作为一种在视图控制器之间传输数据的方式。

您可能想阅读 Model-View-Controller 软件设计模式,这是一种从视图控制器中获取数据并进入 "model object" 的方法,可以由多个人共享查看控制器。