在SwiftUI中,当有轻量级数据需要持久化时,我们可以使用SceneStorage和AppStorage来做存储。
SceneStorage是一个属性绑定器,它可以存在于每一个scene中。它只在Views中能被获取到。
根据下图例子,我们使用SceneStorage需要声明一个唯一的key来代表要存的数据,然后我们可以像使用State一样来使用这个对象,SwiftUI会自动帮我们存储和恢复这个对象。
AppStorage是一个全局的存储,它是使用UserDefaults来做持久化的,所以我们可以在app中任何地方获取使用它。它也是用于轻量级存储,例如app的设置信息。
根据下图例子,AppStorage也是需要声明一个唯一的key来代表要存的数据。它像其他的属性绑定器一样,可以获取它的binding来使用。
网友评论