VStack 行显示错误“实例方法 'sheet(item:onDismiss:content:)' 要求 'Int' 符合 '可识别'”,但我认为我没有犯任何错误?我是吗?
感觉好像错误来自我的工作表,抱怨我的 Int 应该符合“可识别”,但是 Int 不是“可识别”,因为它是原始的?我该如何解决这个问题?
struct SheetView: View {
@State var bindingItemDiscounts: [Double] =
[ 0.99, 0.25, 0.31, 11.99, 19.99, 0.1, 0.5]
@State var discountMoreThanTen: Int?
var body: some View {
VStack(alignment: .leading) { <- this line
Button {
discountMoreThanTen = bindingItemDiscounts.count
} label: { Text("Check Discounts") }
}.sheet(item: $discountMoreThanTen) { newValue in
if discountMoreThanTen ?? 0 <= 10 {
List(bindingItemDiscounts, id: \.self) { discount in
Text("Discount : \(discount)")
}
}
}
}
}.
Run Code Online (Sandbox Code Playgroud)
structInt不符合Identifiable.要解决您的问题,只需扩展Int以符合Identifiable如下所示:
extension Int: Identifiable {
public var id: Int { return self }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |