gpt4 book ai didi

swiftui - 如何使用@AppStorage 在 SwiftUI 中保存 UUID

转载 作者:行者123 更新时间:2023-12-01 23:02:59 28 4
gpt4 key购买 nike

使用时

@AppStorage("navigationWaypointID") var navigationWaypointID: UUID?

我得到一个在调用初始化程序时没有完全匹配

我可以通过使用字符串和使用字符串作为真实来源的自定义属性来变通,但这并不理想。例如,

@AppStorage("selectedWaypointID") var selectedWaypointIDString: String?
var selectedWaypointID: UUID? {
get { UUID(uuidString: selectedWaypointIDString ?? "") }
set { selectedWaypointIDString = newValue?.uuidString }
}

最佳答案

我们可以确认 UUID 符合 RawRepresentable 协议(protocol),因此它适合 AppStorage init 之一。

这是一种可能的方法。使用 Xcode 13.2/iOS 15.2 测试

extension UUID: RawRepresentable {
public var rawValue: String {
self.uuidString
}

public typealias RawValue = String

public init?(rawValue: RawValue) {
self.init(uuidString: rawValue)
}
}

然后您的原始(下方)代码“按原样”工作

@AppStorage("navigationWaypointID") var navigationWaypointID: UUID?

关于swiftui - 如何使用@AppStorage 在 SwiftUI 中保存 UUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71523228/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com