【问题标题】:How can check If result is __NSCFNumber?如何检查结果是否为 __NSCFNumber?
【发布时间】:2017-08-18 11:46:45
【问题描述】:

我正在运行评估函数来运行 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
}

【问题讨论】:

标签: javascript ios swift int nscfnumber


【解决方案1】:

我用 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
    }

【讨论】:

    猜你喜欢
    • 2013-05-09
    • 2014-04-13
    • 2020-04-09
    • 2017-12-14
    • 1970-01-01
    • 2013-07-24
    • 2015-06-13
    相关资源
    最近更新 更多