我正在运行evaluate函数来运行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
}
答案 0 :(得分:0)
我用if(结果是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
}