Как можно проверить, если результат __NSCFNumber?

Я запускаю функцию оценки для запуска 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
}

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
    }
Другие вопросы по тегам