2016-09-22 14 views
4

simle rest client https://httpbin.org/ipを呼び出し、JSON結果をiOSデバイスのラベルフィールドに貼り付ける必要があります。 私はXCode 8.0で書いています。Swiftのバージョンは3.0です。 多くのチュートリアルが見つかりましたが、それらはすべて古いバージョンのSwift用に書かれています。コンパイラは失敗しており、修正できません。新しいバージョンには大きな変更があるようです。 誰でも実用的な例を提供してください。たくさんいただきありがとうございます。ありがとう。Swift 3.0でRESTサービスを呼び出す方法

この例では、RESTの呼び出しとその結果の読み取りが必要です。

答えて

1

これを試すことができます。うまくいきます。

@IBOutlet weak var ipLabel: UILabel! 

     override func viewDidLoad() { 
     super.viewDidLoad() 
     let parseData = parseJSON(getJSON("https://httpbin.org/ip")) 
     let ipvalue = parseData.valueForKey("origin") 
     self.performSelectorOnMainThread(#selector(ViewController.updateIPlbl(_:)), withObject: ipvalue, waitUntilDone: false) 
     } 

    func getJSON(urlToRequest:String) -> NSData 
     { 
      return NSData(contentsOfURL: NSURL(string: urlToRequest)!)! 
     } 

    func parseJSON(inputData:NSData) -> NSDictionary{ 
      let dictData = (try! NSJSONSerialization.JSONObjectWithData(inputData, options: .MutableContainers)) as! NSDictionary 
      return dictData 
     } 

    func updateIPlbl(text: String) { 
      self.ipLabel.text = "Your IP is " + text 
     } 
+0

ありがとうございました。しかし、XCodeは、あなたが提供したすべての機能のほとんどが構文を少し変更するように頼んだ。あなたのバージョンが正しくコンパイルされなかった理由を説明してください。私のコードは次のとおりです 例:func getJSON(urlToRequest:String) - > NSData { NSData(contentsOf:NSURL(string:urlToRequest)!URL)を返します。 } – Oleg

関連する問題