当前位置:网站首页 > 大数据架构 > 正文

天气预报app代码(天气预报app代码大全)



本周完成了暑假最后一个项目天气预报,这个项目界面的布局并不是很难,主要是学习了简单的网络请求,通过请求的数据更新展示的内容,这是一个新学的知识,还是有许多的知识点需要学习,理解。

简单的网络请求主要有以下几个步骤:
1.创建请求地址
2.创建请求类
3.创建会话
4.根据会话创建任务
5.启动任务




下面我先给我的网络请求代码,根据代码进行讲解:

 
  

下面介绍几个网络请求中使用的函数
是NSURL类的一个类方法,用于根据给定的URL字符串创建一个NSURL对象。这里的字符串可以是一个有效的URL地址,也可以是一个相对路径(就是在同一个网站下,不同文件之间的的位置定位)。
URL 是NSURLRequest类的一个类方法,用于根据给定的NSURL对象创建一个NSURLRequest对象。这个步骤的结果主要使用于去进行指定URL地址的特定的网络请求。
这个方法中创建了一个NSURLSession对象,它可以用于发送多个网络请求,并使用指定的代理处理会话的回调和事件。在我的代码中,我使用一个默认的会话配置,将这个视图控制器作为代理对象,在主队列中执行网络请求,使用主线程来处理回调。这个函数可以执行多个网络请求。
: 是NSURLSession类的一个方法,用于创建一个NSURLSessionDataTask对象,并发送指定的请求。这个函数中NSURLRequest用于指定特定的网络请求。请求完成后,会调用后面的completionHandler回调块。




下面这个是网络请求返回的JSON格式的内容,这是是使用和风天气进行网络请求返回的JSON格式的数据。

 
   

在网络请求返回的JSON格式的数据通常是以NSData的形式返回的。NSData是一个用于表示二进制数据的类,在网络请求中用于接收和传输数据。而后再使用方法将NSData转化为字典的数据,便于我们使用。通过上面的JSON格式的数据我们看可以出来,在JSON格式中,数据的内容和名称可以理解成字典中键对值一样的东西,一一对应的关系。

进行网络请求的数据来源:和风天气

在这里插入图片描述

这个页面中,总体来说布局比较简单,我使用了一个tableview和一个UISearchCOntroller控件来进行布局,通过每次添加后网络请求到的数据对tableview进行刷新,来增加首页显示的cell数量。

在这里插入图片描述

在搜索时,这里我使用了一个UISearchCOntroller控件:UISearchController提供了一个搜索栏和搜索结果视图的管理器,使得在应用中集成搜索功能变得简单。它可以用于在单个视图控制器中添加搜索功能,也可以与其他视图控制器(如UITableViewController)一起使用。 但是这里本人并没有完全掌握,这里仅给出我现在学习运用的内容, 后期学习后会另写一篇博客来进行总结。这里我们要实现两个协议

 
   

这个协议方法是UISearchControllerDelegate协议中必须实现的一个方法,在天气预报中实现模糊搜索就是在这个方法中进行网络请求进行实现的。

对于UISeaerchCOntrollery掌握的并不是很熟练,可以看到,在我开始搜索上移搜索框和我的view上移有一个时间差,这里我是使用在将view上移时执行动画效果来实现,但是现在我并没有解决这个两个上移中延迟的问题,做到同步上移, 后期找到解决方法后会再回来进行补充。个人认为,这个控件在执行搜索时是一个实用性较高控件。

参考博客:
iOS开发 -UISearchController的使用和改善方法
【iOS】—— 浅谈UISearchController

在这里插入图片描述
详情界面我使用了两个滚动视图和一个tableview,先时候一个滚动视图用来添加这些控件,另一个滚动视图用于展示24小时天气预报,再使用tableview来展示7天的天气,这个页面没有什么比较难的内容,主要还是进行简单的网络请求。然后要注意对于添加城市的判重,不能重复添加城市id一样的城市到主页去。

 
   

同时在详情页我使用的图片都是SVG图片,这里我能使用的是第三方库SVGKit库来添加svg图片,怎么添加第三方库,可以去看看这篇文章——最新cocoapods安装流程。在配置时遇到了一些里面没有的问题,可以去谷歌上搜索问题,个人认为他经常能解决问题。

在使用cocoaPods从github上下载SVGKit的时候,网页可以打开github。但是无法下载,说明命令行在拉取/推送代码时并没有使用vpn进行代理。可以看看这篇博客来解决问题: Git报错: Failed to connect to github.com port 443 解决方案

在这里插入图片描述
这个页面中是使用一个滚动视图,将详情页的view和图片一样添加到滚动视图中,设置好他的偏移位置即可,下面给出代码说明。

 
   

在页面下方,我使用了一个UIVisualEffectView, UIVisualEffectView 是 iOS 中一个非常有用的 UI 组件,它可以为视图添加各种视觉效果,如模糊、色调调整等,从而实现一些酷炫的界面效果。 将view最下方变成模糊效果,再在上面添加UIPageControll和返回按钮,注意要直接将它添加到self.view上,不能添加到滚动视图中,会导致跟随滚动视图滚动而同时滚动。
代码实现

到此这篇天气预报app代码(天气预报app代码大全)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  
  

                            

版权声明


相关文章:

  • 澳大利亚驾照怎么换国内驾照(澳大利亚 驾照)2025-09-16 10:36:04
  • ddp卖方承担的风险责任最大(ddp术语是买方承担责任费用和风险最小的术语)2025-09-16 10:36:04
  • 颜色代码对应表图片(颜色代码对应表图片大全)2025-09-16 10:36:04
  • 中国大学慕课认证码一般为(中国大学慕课的认证码)2025-09-16 10:36:04
  • 苹果电脑装双系统价格(苹果电脑装双系统大概多少钱)2025-09-16 10:36:04
  • resnet模型框架(resnet架构)2025-09-16 10:36:04
  • 单片机设计课程(单片机课程设计题目大全)2025-09-16 10:36:04
  • 车辆颜色代码查询(车辆颜色代码大全)2025-09-16 10:36:04
  • 电脑好玩的代码游戏(电脑代码游戏大全)2025-09-16 10:36:04
  • 好玩的代码大全图片(简单好玩代码大全)2025-09-16 10:36:04
  • 全屏图片