2017-03-25 1 views
0

나는 자바 스크립트를 실행하는 기능을 평가하는 중이에요. 그러나, 그것은 원래의 결과를 얻기 위해 가끔 기다려야 할 수 있도록 그 안에 다른 자바 스크립트 코드를 실행합니다. 원래 결과가 나오면 숫자를 반환합니다. 결과를 기다릴 수는 있지만 반환 결과가 정수인지 문자열인지 확인해야합니다. 어떻게해야합니까? 첫 번째 결과는 INT 때문에 내가 그 체크를하지 않으면, 내가 문자열 변수에 동일한 결과를하려고이 오류를 받고 있어요. 어떻게 확인할 수 있나요?

유형의 값을 캐스팅 할 수 없습니다 '__NSCFNumber'(0x10f703540) '는 NSString'(0x10e130c40)에.

내 코드입니다; (너무 많이 기다려하지 않으면 writeMSG 기능 수를 반환하지만 그것은 문자열을 반환합니다 기다리면) (결과는 NSString의 경우)는 당신이 필요 코드를

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

을 코드의 관련 부분을 보여줍니다. 그렇지 않으면이 질문은 '당신이 무엇을 요구하고 있는지 불투명합니다'로 닫힙니다. – GoZoner

+1

이 볼 http://stackoverflow.com/questions/40798220/ios-swift-could-not-cast-value-type-nscfnumber-to-nsstring –

답변

0

내가 그것을 확인

func getLink(){ 
     while(a != nil) 
     { 
      evaluate(script: "writeMSG()") {(result,error) in 
      print(result!) 
       if(result is NSString){ 
        self.a = result as! String 
       } 
       } 
      } 
     } 
     flag = 1 
    } 
관련 문제