【发布时间】:2019-06-22 08:26:46
【问题描述】:
使用SwiftUI,我在struct 中有一个embedded struct 喜欢
struct Order Identifiable {
var id = UUID()
var includeSoap: Bool = false
var includeTowel : Bool = false
var quantity : Int
}
struct CompletedOrder Identifiable {
// var id = UUID() or var id = order.id
var order : Order
var summary : String
var purchaseDate : String
}
为了以后使用我需要使用Identifiable关键字。
如何避免额外的 UUID()?我可以尝试将 Order.id 复制到 CompletedOrder.id 但不确定这是否是 XCode 中的错误,但我在那里遇到了奇怪的错误。
无论如何,最好的方法是什么?我需要两个结构'Identifiable' 还是有一种继承?这有什么优点和缺点?我再次在 XCode 中得到了奇怪的结果。但我希望是我;)
谢谢
【问题讨论】:
-
你想达到什么目的?与订单相同的 UUID?举一个你想要的例子。
-
我想在
CompletedOrder struct中重用Order struct以避免复制和输入错误。为了构建一些测试,我想拥有相同的 id 双倍是可以的,但后来我想,当订单已满时,删除 Order.id 并只保留 CompletedOrder.id。所以,我喜欢使用您 (M.Hosseini)var id: UUID { order.id }提供的代码,然后删除 Order.id,但是如何设置闭包? CompletedOrder var id 类似于didset? -
对不起,我不明白。 SwiftUI 是新的,XCode 是错误的,我是 Swift 的新手。为什么是-2?这是一个愚蠢的问题吗?