0

我正在运行评估函数来运行 javascript。但是,它在其中运行另一个 javascript 代码,因此我需要等待一段时间才能获得原始结果。直到原始结果,它返回一个数字。我可以等待结果,但我需要检查返回结果是整数还是字符串。我怎样才能做到这一点?如果我因为第一个结果是 int 而没有进行检查,那么当尝试将结果与字符串变量相等时,我会收到此错误。

无法将“__NSCFNumber”(0x10f703540)类型的值转换为“NSString”(0x10e130c40)。

我的代码是;(writeMSG 函数返回数字如果我不等待太多但如果我等待它会返回一个字符串)

func getLink(){
    while(a != nil)
    {
        evaluate(script: "writeMSG()") {(result,error) in
         print(result!)
                self.a = result as! String
            }
        }
    }
    flag = 1
}
4

1 回答 1

0

我用 if(result is NSString) 代码检查它

 func getLink(){
        while(a != nil)
        {
            evaluate(script: "writeMSG()") {(result,error) in
             print(result!)
               if(result is NSString){
                    self.a = result as! String
                 }
                }
            }
        }
        flag = 1
    }
于 2017-03-25T21:10:40.267 回答