你可以試試這個,效果很好。
@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
}
非常感謝。但是XCode要求我在你提供的每個函數中稍微改變語法。你能解釋爲什麼你的版本不能成功編譯?我的代碼如下: 例如:func getJSON(urlToRequest:String) - > NSData { {contentOf:NSURL(string:urlToRequest)!as URL)! } – Oleg