在我的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"
}
在保持数据不陈旧方面,以上是最优化的吗?
答案 0 :(得分:1)
通常,NSUserDefaults旨在用于在应用程序的运行之间存储少量信息,而不是在视图控制器之间传输数据的方式。
您可能希望阅读Model-View-Controller软件设计模式,这是一种从视图控制器中获取数据的方法,以及可以由多个视图控制器共享的“模型对象”。