2017-03-25 7 views
0

私はJavaScriptを実行する機能を評価し実行していますよ。私は、元の結果を得るためにいつか待つ必要がようにしかし、それは内部の別のjavascriptのコードを実行します。元の結果まで、数値を返します。私は結果を待つことができますが、戻り値が整数か文字列かどうかをチェックする必要があります。どうやってやるの?最初の結果がintであるため、私はそのチェックをしない場合は、文字列変数に等しい結果にしようとしたとき、私はこのエラーを取得しています。はどのように確認できますか?

型の値をキャストすることができませんでした '__NSCFNumber'(0x10f703540) 'NSStringの'(0x10e130c40)には。

私のコードです。

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

を(私はあまりを待っていないが、私は待っていればそれは文字列を返します場合WriteMSG(書き込みメッセージ)関数は、数値を返します)コードの関連部分を表示します。そうでなければ、この質問は「あなたが何を求めているのか不明」として閉じられるでしょう。 – GoZoner

+1

がこれを見http://stackoverflow.com/questions/40798220/ios-swift-could-not-cast-value-type-nscfnumber-to-nsstring –

答えて

0

あなたがする必要がある(結果は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 
    } 
関連する問題