首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯威夫特尤里卡SelectableSection baseValue不能正常工作

斯威夫特尤里卡SelectableSection baseValue不能正常工作
EN

Stack Overflow用户
提问于 2016-06-10 12:24:15
回答 1查看 453关注 0票数 0

我有用于Eureka库的以下代码:

代码语言:javascript
复制
    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
        }
    }

这显示了可选择的列表,但是下一段代码不能正常工作:

代码语言:javascript
复制
@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)。

我在这里做错什么了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-14 14:54:01

我一直在检查您的代码,我发现如果我们使用SelectableSection,我们需要使用selectableValue而不是baseValue来进行建议,但我认为这是Eureka的错误,因为尽管我们设置了不同的值,但selectableValuebaseValue是相同的。

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

编辑过的

Int替换中为selectableValue值尝试以下操作

<ImageCheckRow<String>, String> for <ImageCheckRow<Int>, Int>

还可以将section <<< ImageCheckRow<String>(obj.name)替换为section <<< ImageCheckRow<Int>(obj.name)

最后像我一样调整saveAction

代码语言:javascript
复制
@IBAction func saveAction(sender: AnyObject) {
    let section = self.form.sectionByTag("section") as? SelectableSection<ImageCheckRow<Int>, Int>
    for obj in section!.selectedRows() {
        print(obj.baseValue)
    }
}

这适用于我在selectableValue上使用Int

问题是这个

代码语言:javascript
复制
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的问题。

我希望这对你有帮助,问候

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37748229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档