暑期学习总结

目录

[第一部分 zara+网易云音乐周期](#第一部分 zara+网易云音乐周期)

[第二部分 3Gshare+学生信息管理系统周期](#第二部分 3Gshare+学生信息管理系统周期)

[第三部分 天气预报周期](#第三部分 天气预报周期)


第一部分 zara+网易云音乐周期

在这个周期,zara类似于预备知识的,在完成zara时,要学会的最重要的两个点就是无限轮播图和自定义cell的使用。这两个点在之后的每个项目中都会用到,必须好好掌握。无限轮播图其实可以通过一些很简单的算法来实现,我的思路是,在现有图片基础上添加两个放图片的位置,最后一个位置放第一张图片,第一个位置放最后一张图片。在此基础上,移动到最后一个位置时,就跳转到第一张图片,当移动到第一个位置时,就跳转到最后一张图片。具体的代码和原理在仿写zara的博客中有描述,这里就不多赘述了。

网易云音乐最主要用到的就是不同控件的堆叠,尤其是数据视图的堆叠,在数据视图上添加带有滚动视图的自定义cell,添加带有数据视图的自定义cell,通过多种视图控件的堆叠来实现复杂的界面效果。在笔者看来,网易云音乐的界面也是暑期项目中最复杂的一个。

此外,在实现网易云音乐时,由于要实现全界面的夜间模式,笔者学习到了一些关于视图控制器生命周期的知识,在视图被呈现在屏幕上时,会有一些函数被依次调用,那么通过这些函数,就可以实现当前视图控制器视图的更新,配合全局变量就可以实现全界面的夜间模式。

下面附上zara和网易云音乐仿写的总结博客链接

zara仿写总结

网易云仿写总结

第二部分 3Gshare+学生信息管理系统周期

3Gshare和学生信息管理系统分别是暑期最繁琐和最简单的两个项目。

关于3Gshare,笔者认为最重要的是,多界面传值的多种应用、保留子视图和动态更新数据视图(折叠cell和聊天室的应用)

在多界面传值的应用上:登录注册需要保存账号和密码,不仅要从前向后传,还要从后向前传,要用到多种传值方式;点赞的状态和点赞量需要前后互相传,也要用到多种传值方式;换头像的功能要实现图片在照片墙与个人信息界面之间的互传,这里只要用到从后向前传的传值方式即可

在保留子视图上:这个点主要是设置界面,关注列表和一些设置的开关的状态需要被保存,通过将当前子视图控制器作为属性就可以在关闭子视图时,不销毁该子视图,从而做到保存子视图的控件状态。

在动态更新数据视图上:最大且最主要的应用就是聊天室,每发送一条信息,就动态地添加一个单元格来保存当前信息。但其实折叠cell也是一种简单的动态更新数据视图思想的应用,就是动态更新数据视图的行数,以此来实现折叠的效果。由于很多界面都是通过数据视图堆叠而成的,所以动态更新数据视图的应用范围非常广泛,需要好好掌握。

学生信息管理系统的实现其实就是一个数据视图,随着数据的增删改查来动态地更新,在学习了动态更新数据视图后非常好解决。此外,笔者在完成学生信息管理系统时,还学习到了一些又关于正则表达式的知识,通过正则表达式,可以非常便捷地实现对各种输入的非法判定。正则表达式的功能非常强大,可以实现对各种集合类的过滤和非法检验,这里更加深入的知识笔者暂时还没有学习,有关于非法判定已经在学生信息管理系统的总结博客中有过阐述。

下面附上3Gshare和学生信息管理系统的总结博客链接

3Gshare总结博客

学生信息管理系统总结

第三部分 天气预报周期

天气预报是暑假的最后一个项目,在笔者看来也是前几个项目知识的集合应用,还加上对新的知识申请网络请求的应用。

天气预报项目需要实现较为复杂的界面,需要一些数据视图的堆叠,还需要进行一些传值操作,以及通过网络请求获取数据。

在这里最需要注意的一个点就是,在进行多个网络请求时,程序会异步执行,因此必须保证数据请求完毕后,再调用数据作为数据源更新数据视图。笔者使用的方法比较简单,就是在更新数据视图前做判断,判断数据是否已全部获取完毕,但这种方法会让代码显得格外冗长,要解决异步问题,还有一种和线程有关的方法,这个笔者暂时还没有学会,之后学习了会再发博客阐述。

下面附上天气预报项目的总结博客链接

天气预报总结

相关推荐
彧azz3 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
平头哥AI3 小时前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
一阵寒风3 小时前
CAM智能化助力PCB 智能制造-培训体系第六章.项目开发学习
学习·制造
传奇开心果编程4 小时前
【Xilem 0.4 基础语法学与练】第15课:状态管理与 memoize 性能优化
学习·rust·前端框架
具身AGI4 小时前
视频即仿真,物理AI 人类学习路线 的下一步
人工智能·学习
wuyk5555 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
陈年老古董5 小时前
PyTorch食物图像分类实战:从数据集制作到CNN模型训练全流程详解
pytorch·深度学习·学习·机器学习·分类·cnn
明志数科5 小时前
从300克Ego头环看第一人称数据采集趋势:设备轻量化之后,场景端壁垒在哪
数码相机·学习
笨鸟先飞的橘猫6 小时前
系统设计第十七天决策卡
学习·游戏
Sunshing156 小时前
Lyapunov方程系统本身稳定性判定与镇定性判定
笔记·学习