![](/img/trans.png)
[英]SwiftUI Picker population problem - ForEach Loop in picker does not populate
[英]SwiftUI - variable bound to picker does not match selected value of the picker
在這段代碼中,repDuration 是一個 int,每當我在選擇器中選擇一個值時,repDuration 將是相同的值減去 1,盡管標簽等於數字。 當我將 repDuration 設為 String 而不是 Int 時,問題就消失了,如果我想將 repDuration 保留為 Int,有人可以解釋如何使值匹配嗎?
Picker("Duration", selection: self.$item.repDuration) {
ForEach(1..<366) { number in
Text("\(number)").tag(number)
}
}
您要么需要您的迭代器符合 .Identifiable 協議,要么在 ForEach 調用中指定一個 id,如下所示:
Picker("Duration", selection: self.$item.repDuration) {
ForEach(1..<366, id: \.self) { number in
Text("\(number)").tag(number)
}
}
沒有它,swift 將返回范圍序列的索引,而不是值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.