先上一个app运行截图›››
就是这个样子的。
首先,我们需要一个提供天气的接口,这个我是在心知天气注册的号,弄得一个接口。完全免费。。
接口弄完,我们创建一个swift工程,在mainmenu.xib上搭建好界面,
如下图:
在对应的menucontroler里面拖好线
下面就是一些代码的编写
先封装一个网络连接的类,由于是练习,所以写的比较随意。
import Cocoa
let api_src = "alav8wplbvpkfmq4"
let api_id = "UBEB9D6270"
let baseurl = "https://api.thinkpage.cn/v3/weather/now.json"
// 天气model
class WetherModel: NSObject {
var location:String?
var language:String?
var unit:String?
}
/// 网络连接
class NetLink: NSObject {
let Session:NSURLSession = NSURLSession.sharedSession()
// 获取天气信息 GET
func GETWetherInfo(model:WetherModel!,CallBack: (data:NSData?, response:NSURLResponse?, err:NSError?) -> Void) -> () {
//
let queryItem1 = NSURLQueryItem(name: "key", value: api_src)
let queryItem2 = NSURLQueryItem(name: "location", value: model.location)
let queryItem3 = NSURLQueryItem(name: "language", value: model.language)
let queryItem4 = NSURLQueryItem(name: "unit", value: model.unit)
let urlComponents = NSURLComponents(string: baseurl)!
urlComponents.queryItems = [queryItem1,queryItem2,queryItem3,queryItem4]
let regURL = urlComponents.URL!
let request = NSMutableURLRequest(URL: regURL)
request.HTTPMethod = "GET"
let task = Session.dataTaskWithRequest(request) { (data, response, error) in
CallBack(data: data,response: response,err: error)
}
task.resume()
}
}
在controller中做数据处理和展示
效果图如下