[英]Swift Eureka SelectableSection baseValue doesn't work correctly
我有Eureka
庫的以下代碼:
let section = SelectableSection<ImageCheckRow<String>, String>("Section:", selectionType: .MultipleSelection)
section.tag = "section"
for obj in arrList {
section <<< ImageCheckRow<String>(obj.name){ row in
row.title = obj.name
row.selectableValue = obj.name
row.baseValue = obj.id
row.value = nil
}
}
這顯示了可選列表,但是下一個代碼無法正常工作:
@IBAction func saveAction(sender: AnyObject) {
let section = self.form.sectionByTag("section") as? SelectableSection<ImageCheckRow<String>, String>
for obj in section!.selectedRows() {
print(obj.baseValue)
}
}
這會打印name
字段,但需要打印id
( row.baseValue = obj.id
)。
我在這里做錯什么了嗎?
我查看了您的代碼,發現這似乎是,如果我們使用SelectableSection
我們的baseValue
需要使用selectableValue
而不是baseValue
,但是我認為這是Eureka
的錯誤,因為盡管我們設置了不同,但selectableValue
和baseValue
相同價值觀
您可以使用row.selectableValue = obj.id
代替row.selectableValue = obj.name
減輕這種row.selectableValue = obj.name
嘗試此操作以selectableValue
Int
值
<ImageCheckRow<String>, String>
表示<ImageCheckRow<Int>, Int>
也將section <<< ImageCheckRow<String>(obj.name)
替換為section <<< ImageCheckRow<Int>(obj.name)
最后像我一樣調整saveAction
@IBAction func saveAction(sender: AnyObject) {
let section = self.form.sectionByTag("section") as? SelectableSection<ImageCheckRow<Int>, Int>
for obj in section!.selectedRows() {
print(obj.baseValue)
}
}
這與int on selectableValue對我有用
問題是
public final class ImageCheckRow<T: Equatable>: Row<T, ImageCheckCell<T>>, SelectableRowType, RowType {
public var selectableValue: T?
required public init(tag: String?) {
super.init(tag: tag)
displayValueFor = nil
}
}
selectableValue
類型為您在聲明中傳遞的任何類型的模式,這就是為什么<ImageCheckRow<Int>, Int>
解決Int
問題的原因
希望這對您有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.