Как я могу хранить поплавок с помощью @AppStorage с помощью SwiftUI

#ios #swift

Вопрос:

У меня есть функция float ( rate ), которая может быть установлена пользователем для этого приложения. Я хотел бы сохранить эту переменную постоянной, поэтому я хотел бы использовать оболочку @AppStorage свойств. Проблема, с которой я сталкиваюсь, заключается в том, что это @AppStorage("rate) var rate: Float = 0.5 дает No exact matches in call to initializer . После недолгого поиска в Google я узнал, что вы не можете хранить поплавки в хранилище приложений. Есть ли способ обойти это?

Комментарии:

1. Использовать а Double вместо а Float ?

Ответ №1:

Глядя на определение AppStorage , вы можете найти следующие разрешенные типы:

  • Bool
  • Int
  • Double
  • String
  • URL
  • Data
  • перечисление с Int сырой ценностью
  • перечисление с String сырой ценностью
  • Bool?
  • Int?
  • Double?
  • String?
  • URL?
  • Data?
  • необязательное перечисление с Int исходным значением
  • необязательное перечисление с String исходным значением

Поэтому вам , вероятно, следует использовать Double , а не Float (вы все равно не должны использовать Float , так как он 32-разрядный, а не 64-разрядный).