我如何存储一个浮点与@AppStorage与SwiftUI



我有一个浮动(rate),可以由用户为这个应用程序设置。我想保持这个变量的持久性,所以我想使用@AppStorage属性包装器。我遇到的问题是@AppStorage("rate) var rate: Float = 0.5给了No exact matches in call to initializer。在谷歌上搜索了一下之后,我了解到你不能将浮动存储在应用存储中。有办法解决这个问题吗?

查看AppStorage的定义,您可以找到以下允许的类型:

  • Bool
  • Int
  • Double
  • String
  • URL
  • Data
  • Int原始值的enum
  • 带有String原始值的enum
  • Bool?
  • Int?
  • Double?
  • String?
  • URL?
  • Data?
  • 可选enum,Int的原始值
  • 可选enum,String原始值

所以你可能应该使用Double,而不是Float(你不应该真的使用Float,因为它是32位而不是64位)。

最新更新