多值段异步行插入

时间:2018-02-06 00:33:02

标签: ios swift eureka-forms

所以我使用Eureka在我的iOS APP上创建电子表格,而且我想要使用MultivaluedSection在表单中添加人员列表。

这是它的标准实现:

MultivaluedSection(multivaluedOptions: [.Reorder, .Insert, .Delete],
                           header: "Multivalued TextField",
                           footer: ".Insert multivaluedOption adds the 'Add New Tag' button row as last cell.") {
            $0.tag = "textfields"
            $0.addButtonProvider = { section in
                return ButtonRow(){
                    $0.title = "Add New Tag"
                }.cellUpdate { cell, row in
                    cell.textLabel?.textAlignment = .left
                }
            }
            $0.multivaluedRowToInsertAt = { index in

                return NameRow() {
                    $0.placeholder = "Tag Name"
                }
            }
        }

这里的Key是$0.multivaluedRowToInsertAt方法,它返回所需行的BaseRow实例,只要按预期点击Button行,它就会运行。

但是我不想立即创建行,下面的代码段演示了我想要实现的功能,基本上我需要做一些准备并从服务器获取数据,然后再将行添加到该部分。然而它是一个虚拟例子,因为我无法从内部闭包返回父闭包。

$0.multivaluedRowToInsertAt = { index in

                let row = NameRow() {
                    $0.placeholder = "Tag Name"
                }

                let AC = UIAlertController(title: "Test", message: "Async Test", preferredStyle: .alert)

                AC.addAction(UIAlertAction(title: "Add Row", style: .default, handler: { (action) in

                    return row

                }))

                self.present(AC, animated: true, completion: nil)

            }

我想知道是否有人可以告诉我如何才能实现此功能。

我打算创建一个自定义行,以其他方式帮助我,但我不知道自定义单元格是否可以解决我现在遇到的主要问题。

0 个答案:

没有答案