如何从 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")
}
更多参考:
尝试调用记录的值函数 here
您可以创建如下所示的方法并从 onChange 回调中调用它
func updateValues() {
let allFormData = formInput.values()
if let dateInput = allFormData["RecordDateTag"] as? String {
self.dateInputValue = dateInput
}
}
虽然我尝试将它传递给临时变量,但它似乎并没有发生。
虽然构建应用程序时没有错误,但一旦我尝试输入 "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")
}
更多参考:
尝试调用记录的值函数 here
您可以创建如下所示的方法并从 onChange 回调中调用它
func updateValues() {
let allFormData = formInput.values()
if let dateInput = allFormData["RecordDateTag"] as? String {
self.dateInputValue = dateInput
}
}