swift 将数据存储到类中

xxhby3vn  于 2023-08-02  发布在  Swift
关注(0)|答案(1)|浏览(105)

我目前正在做我的第一个更大的项目,我想知道是否有某种方法可以将数据放入一个类中,然后重写它们或为该类创建一个示例。我有一个数据,正在下载的第一个ViewController,如果我想使用他们对我所有的5个ViewController,我只是通过他们使用委托,并作出了很多重复。由于这种方式是非常低效和混乱,我想有他们存储在一个类。当我为这些数据创建自定义类时,当更改为另一个ViewController时,数据立即被删除。

hgncfbus

hgncfbus1#

您有多个选项可以从多个位置访问同一段数据。您使用的方式完全取决于您的需求。以下是几个选项:

*依赖注入Here是一个很好的帖子。这是在一个VC中有一些数据,并将其注入到下一个VC中。如果不需要持久化依赖于它的数据和其他对象,这是一个很好的方法。
*代表团:你可以让VC在某些事情发生后(比如用户点击,你完成了一些数据的下载等等)将数据传递给它的委托。
*Notification Center:您可以在应用范围内发送通知,并创建任何对象(如ViewController)来观察特定通知。您可以将数据与通知沿着发送。
*Singleton设计模式:你可以在Swift中使用singleton,像这样:

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

字符串

*UserDefaults:这是一个可以用来存储小块数据的存储器。请记住,这不是一个数据库,它会在应用程序启动之间持久保存您的数据,但您不应该使用它来存储大量数据。
*CoreData:这是一个用于iOS存储数据的持久性框架,就像您在服务器端DB中所做的那样。它不完全是一个数据库,因为你每次读/写时都不直接访问磁盘,CoreData将其所有内容加载到内存中以访问它。您还可以使用其他第三方库来处理本地持久性,例如Realm

希望能帮上忙!

相关问题