你可以试试这个,效果很好。
@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