iOS Eureka:延迟获取后如何选择第一个值作为默认值

时间:2018-11-23 12:00:36

标签: ios eureka-forms

我有一个从REST API检索到Eureka的PushRow的列表,但是如果没有选择任何列表(创建新对象),我希望在检索到选项列表后默认选择第一个选项。

但是,PushRow仅在单击列表后才加载列表。

因此,有一种方法可以将PushRow惰性选项与其部分一起加载,还是应该切换到其他类型的行(如果它支持惰性)

1 个答案:

答案 0 :(得分:0)

您可以使用

$0.value    // To set default value for PushRow()

在设置为$0.value之前先检查该值是否存在

这是我用的

<<< PushRow<String>(){
    $0.tag = String(index)
    $0.selectorTitle = checklistFieldNames[index] //
    $0.options = ["YES", "NO"]
    if question.count == 0{
       $0.value = ""
    }else {
       $0.value = checklistFieldAnswers[0]
    }
    }.onPresent({ (from, to) in
        to.dismissOnChange = false
        to.dismissOnSelection = true
        to.tableView?.backgroundColor = UIColor(displayP3Red: 244/255, green: 244/255, blue: 244/255, alpha: 1.0)
        to.view.backgroundColor = UIColor(displayP3Red: 244/255, green: 244/255, blue: 244/255, alpha: 1.0)
        to.selectableRowCellUpdate = { cell, row in
        cell.textLabel?.font = UIFont(name: "DTLProkyonT", size: 15)
        cell.textLabel?.textColor = UIColor.lightGray
        cell.textLabel?.numberOfLines = 0
        cell.textLabel?.backgroundColor = UIColor.clear
   }
})