我试图在我的代码中加入更多结构,所以我正在实现这个UserDefaultsService
:
class UserDefaultsService {
let defaults = UserDefaults(suiteName: UserDefaults.Keys.groupKey)
static let shared = UserDefaultsService()
func updateDataSourceArrayWithWishlist(wishlist: Wishlist) {
guard var dataSourceArray = defaults?.getDataSourceArray() else { return }
if let index = dataSourceArray.firstIndex(where: ({$0.id == wishlist.id})) {
dataSourceArray[index] = wishlist
defaults?.setDataSourceArray(data: dataSourceArray)
}
}
func getDataSourceArray() -> [Wishlist]? {
return defaults?.getDataSourceArray()
}
}
但如您所见defaults
,是可选的。我知道我可以安全地打开它,guard
例如每次我使用它时,但有没有更好/更清洁的方法来做到这一点?我在想的是只打开一次,然后我可以在UserDefaultsService
.