ios - Swift Eureka SelectableSection baseValue 无法正常工作

标签 ios swift eureka-forms

我有 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我们需要使用 selectableValue而不是 baseValue对于我们的建议,但我认为这是来自 Eureka 的错误因为selectableValuebaseValue尽管我们设置了不同的值,但它们是相同的

您可以使用 row.selectableValue = obj.id 缓解这种情况而不是 row.selectableValue = obj.name

已编辑

试试这个 Int selectableValue 中的值替换

<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 解决问题

希望这对您有帮助,问候

关于ios - Swift Eureka SelectableSection baseValue 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37748229/

相关文章:

swift - 清除 Eureka 表格

ios - 使用 Apple Configurator 2 传输数据

ios - 使用 swift 从 Game Center 检索用户最高分

swift - 从多重选择器行检索值时出现问题

ios - Eureka 表单中的必填字段

ios - 如何在按下按钮时在 Collection View 中滚动(水平)?

ios - SelectableSection 在 Eureka Swift 中更新另一个部分

ios - 触摸在 UIScrollView 内的 UITableView 上不起作用

ios - 水平拾色器的 UI 帮助

android - 如何设置 Phonegap Developer 应用程序的 IP 地址