swift实战小程序1天气预报

swift实战小程序1天气预报,第1张

概述       在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。新建一个工程,命名为Weather,然后上网找一个天气预报的API,百度搜索“天气预报 api”,打开一个网站,如下图:    我们最好找json的格式的api,比如这样的 找到API之后,我们来制作一个用户界面,打开storyboard,加载一个按钮,命名为北京的天气信息:     在按钮下

在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。新建一个工程,命名为Weather,然后上网找一个天气预报的API,百度搜索“天气预报 API”,打开一个网站,如下图:


我们最好找Json的格式的API,比如这样的



找到API之后,我们来制作一个用户界面,打开storyboard,加载一个按钮,命名为北京的天气信息:



在按钮下方加一个text vIEw来呈现天气信息:


现在添加一个按钮的点击事件,打开VIEwController,输入以下代码:

 @IBAction func btnpressed(sender:AnyObject){    println("button Clicked")    }

再回到storyboard中,右键点击,把touch up insIDe拖到vIEw controller中可以看到我们刚刚定义的btnpressed,点击关联,效果如下:



运行看一下效果,点击按钮,显示:


然后我们来加载天气信息,为了让我们的程序更好,在工程中建立一个playground,targets勾选Weather,建好的playground如图:


playground中的代码如下:

var url = NSURL(string: "http://API.k780.com:88/?app=weather.today&weaID=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=Json")var data:NSData = NSData(contentsOfURL: url!,options: NSDataReadingOptions.DataReadingUncached,error: nil)!var str = Nsstring(data: data,enCoding: NSUTF8StringEnCoding)

接着我们来解析JsON,使用swift自带的解析工具,代码如下:


var Json: AnyObject! = NSJsONSerialization.JsONObjectWithData(data,options: NSJsONReadingOptions.AllowFragments,error: nil)var weatherInfo: AnyObject? = Json?.objectForKey("result")var city = weatherInfo?.objectForKey("citynm")

效果如图:


可以从右边看到我们得到了Json中的城市信息,补全我们需要的所有信息:

var city = weatherInfo?.objectForKey("citynm")var temp = weatherInfo?.objectForKey("temperature")var day = weatherInfo?.objectForKey("days")

现在我们在ui中呈现天气信息,把刚才playground中写的部分拷贝,然后在vIEwcontroller中新建一个方法loaDWeather,把代码拷进去,再在vIEwDID方法中调用loaDWeather,最后增加一个IBOutlet与storyboard相关联,方法依旧是拖动,拖动storyboard中的New Referencing Outlet与tv相关联。然后在btnpressed方法中依旧增加loaDWeather方法.

在loaDWeather方法中加上信息的显示语句:

 tv?.text = "城市:\(city)\n温度:\(temp)\n日期:\(day)"

运行一下看看效果,如图:


虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:



大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

总结

以上是内存溢出为你收集整理的swift实战小程序1天气预报全部内容,希望文章能够帮你解决swift实战小程序1天气预报所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存