如何从 swift 中的 Eureka 表单中提取值到局部变量?

How to extract values from Eureka forms in swift to local variables?

虽然我尝试将它传递给临时变量,但它似乎并没有发生。

虽然构建应用程序时没有错误,但一旦我尝试输入 "rateOfPaddy" 的值,它就会失败,引用 "fatal error: unexpectedly found nil while unwrapping an Optional value"

如果我做错了什么,请告诉我,无论是与 Swift 还是 Eureka 有关?

    form +++ Section()
                <<< DateTimeRow() {
                    [=11=].tag = "RecordDateTag"
                    [=11=].title = "Date"
                    [=11=].value = NSDate()
                    }.cellSetup { cell, row in
                        cell.textLabel?.textColor = UIColor.blackColor()
                    }.onCellHighlight { _ in
                        if let dateInput = formInput["RecordDateTag"] as? String {
                            self.dateInputValue = dateInput
                        }
                    }.onCellUnHighlight { _ in
                        if let dateInput = formInput["RecordDateTag"] as? String {
                            self.dateInputValue = dateInput
                        }
                }

我用.onChange 回调来检查并将信息传递给局部变量,这没有用。 .onCellHighlight 和 .onCellUnHighlight 组合也没有成功!!

错误 "fatal error: unexpectedly found nil while unwrapping an Optional value" 表示您正在尝试解包一个值为 nil 的可选值。

在使用 as!

您可以从可选绑定中受益

if let value = formInput["Some"] as? Int
{
    //Value exist and is an Int
}
else
{
    print("Not an Int")
}

更多参考:

Swift Type Casting

Swift Optionals

尝试调用记录的值函数 here

您可以创建如下所示的方法并从 onChange 回调中调用它

func updateValues() {
    let allFormData = formInput.values()

    if let dateInput = allFormData["RecordDateTag"] as? String {
        self.dateInputValue = dateInput
    }
}