Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 尤里卡形成动态价值观_Ios_Swift_Eureka Forms - Fatal编程技术网

Ios 尤里卡形成动态价值观

Ios 尤里卡形成动态价值观,ios,swift,eureka-forms,Ios,Swift,Eureka Forms,我希望根据从API调用获得的输入动态设置字段的值。 因此,我从服务器获取答案,将其解析为对象,并尝试设置值。 但是这是不可能的,因为rowBy(tag:)方法返回一个BaseRow,所以我不知道该行是什么类型。并且基线没有参数值 是否有一种已知的方法允许我检查字段类型并设置值 ``` ItemProducer.itemGetFormAnswers(带参数:参数){(成功、响应数据、错误)在 }```是否要检查特定的类 if myObject is MyClass { // myObjec

我希望根据从API调用获得的输入动态设置字段的值。 因此,我从服务器获取答案,将其解析为对象,并尝试设置值。 但是这是不可能的,因为rowBy(tag:)方法返回一个BaseRow,所以我不知道该行是什么类型。并且基线没有参数值

是否有一种已知的方法允许我检查字段类型并设置值

``` ItemProducer.itemGetFormAnswers(带参数:参数){(成功、响应数据、错误)在


}```

是否要检查特定的类

if myObject is MyClass {
    // myObject is of type MyClass
}
因此,您还可以尝试更详细的内容:

guard let _ : MyRow = self.form.rowBy(tag: String(describing: answerObject?.questionID)) else {
                        // do your logic
                        return
                    }
如果您不知道在dict中序列化了什么类型的json对象,可以检查以下特定属性:

if let mySpecificAttribute = answerObject["mySpecificAttribute "] as? String {
    // answerObject got a value for key "mySpecificAttribute "
}

我终于有了一个分类账的想法。我知道这是一个选择,但我希望尤里卡有一个更先进的选择。对于那些对执行这个想法感兴趣的人,我做了以下几点

`
//Loop through all the questions
for question in self.arrQuestions {
    switch(question.detailType) {
    case .checkBox:
        if let answerObject = self.answers[question.questionID] {
            let row = self.form.rowBy(tag: String(describing: answerObject.questionID)) as! CheckRow
            row.value = Bool(answerObject.answer)
            row.reload()
        }
        break
    case .dateTime:
        if let answerObject = self.answers[question.questionID] {
            let row = self.form.rowBy(tag: String(describing: answerObject.questionID)) as! DateTimeRow
            let date = Date.init(timeIntervalSince1970: Double((answerObject.answer)!)!)
            row.value = date
            row.reload()
        }
        break
        ...... etc......
`

是的,我已经尝试过了,但是rowBy方法返回一个可以类型转换到不同类的BaseRow类。
`
//Loop through all the questions
for question in self.arrQuestions {
    switch(question.detailType) {
    case .checkBox:
        if let answerObject = self.answers[question.questionID] {
            let row = self.form.rowBy(tag: String(describing: answerObject.questionID)) as! CheckRow
            row.value = Bool(answerObject.answer)
            row.reload()
        }
        break
    case .dateTime:
        if let answerObject = self.answers[question.questionID] {
            let row = self.form.rowBy(tag: String(describing: answerObject.questionID)) as! DateTimeRow
            let date = Date.init(timeIntervalSince1970: Double((answerObject.answer)!)!)
            row.value = date
            row.reload()
        }
        break
        ...... etc......
`