class MySingleton {
static let shared = MySingleton()
var name = ""
}
// Assign name variable somewhere (i.e. in your first VC after downloading data)
MySingleton.shared.name = "Bob"
// In some other ViewController
myLabel.text = MySingleton.shared.name
1条答案
按热度按时间hgncfbus1#
您有多个选项可以从多个位置访问同一段数据。您使用的方式完全取决于您的需求。以下是几个选项:
*依赖注入:Here是一个很好的帖子。这是在一个VC中有一些数据,并将其注入到下一个VC中。如果不需要持久化依赖于它的数据和其他对象,这是一个很好的方法。
*代表团:你可以让VC在某些事情发生后(比如用户点击,你完成了一些数据的下载等等)将数据传递给它的委托。
*Notification Center:您可以在应用范围内发送通知,并创建任何对象(如ViewController)来观察特定通知。您可以将数据与通知沿着发送。
*Singleton设计模式:你可以在Swift中使用singleton,像这样:
字符串
*UserDefaults:这是一个可以用来存储小块数据的存储器。请记住,这不是一个数据库,它会在应用程序启动之间持久保存您的数据,但您不应该使用它来存储大量数据。
*CoreData:这是一个用于iOS存储数据的持久性框架,就像您在服务器端DB中所做的那样。它不完全是一个数据库,因为你每次读/写时都不直接访问磁盘,CoreData将其所有内容加载到内存中以访问它。您还可以使用其他第三方库来处理本地持久性,例如Realm。
希望能帮上忙!