iOS -- 请求网络数据&数据处理

一 语言Swift,环境xcode。前提:你会一些Xcode操作。
二 用实例来说明
我们通过向中国天气网请求天气数据,然后将其解析出来。

func loadWeather() {
        let url = NSURL(string: "http://www.weather.com.cn/data/sk/101020100.html")

        let data = NSData(contentsOfURL: url!)
        let json : AnyObject! = try? NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments)

        let info = json?.objectForKey("weatherinfo")
        let temp = info?.objectForKey("temp")
        let time = info?.objectForKey("time")
        let city = info?.objectForKey("city")
        let ws = info?.objectForKey("WS")

        print("温度:\(temp!)")
        print("时间:\(time!)")
        print("城市:\(city!)")
        print("风级:\(ws!)")
    }

运行结果:

温度:15
时间:17:08
城市:上海
风级:1级

三、遇到App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. 错误。
这是因为我们上面的代码访问了http资源,而在默认情况下,iOS不允许您发送请求的服务器不使用安全的SSL。
解决办法:
打开 工程主目录下info.plist
增加属性字典 App Transport Security Settings
在这个属性下增加节点 Allow Arbitrary Loads, value 为 YES
iOS -- 请求网络数据&数据处理_第1张图片

感觉好简单,有木有。(^__^) 嘻嘻……

你可能感兴趣的:(iOS)