美文网首页
用Swift写一个OSX菜单栏天气栏

用Swift写一个OSX菜单栏天气栏

作者: Alfred_小乐 | 来源:发表于2016-08-22 22:55 被阅读62次

先上一个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中做数据处理和展示

效果图如下

详细代码:https://github.com/JLHuu/MyWeatherBar.git

相关文章

网友评论

      本文标题:用Swift写一个OSX菜单栏天气栏

      本文链接:https://www.haomeiwen.com/subject/rlpgsttx.html