Swift 初探

前言

这段时间对iOS进行了一下深入学习,以前觉得项目用不上的东西都是装逼的扯淡的,其他不然,每个知识点的学习和认识都对你搭建自己的iOS知识体系有很大的帮助,让你更好的去理解一个iOSAPP是怎么运行的,你的代码为什么能实现你想要的效果。趁着项目结束没什么事情,回过头来看看Swift,一直用OC做项目,也没去管它,今天整理一下我这几天做的一个小demo,跟大家一起来学习学习Swift,也希望大家能多给我学习方法和建议。

今天做的demo算是项目中很常见的,请求网络数据,解析成model,然后刷新UITableView显示网络数据。如图:

demo总共分三部分,UI的创建,数据请求和解析,数据展示

UI创建

Swift语法和OC相比更简洁

Swift:self.tableView = UITableView(frame: self.view.bounds)

OC :_tableview = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, KWidth, KHight) style:UITableViewStylePlain];

一目了然,代码量少很多,Swift初始化是控件类名+(frame)

然后将控件添加到视图上:self.view.addSubview(self.tableView),OC调方法是[]里面空格+方法名

其他的以前属性的设置和OC基本差不多,就是语法上的差异,所以有OC基础的对Swift还是有一种熟悉的感觉

数据请求和解析

说到数据请求,我们都会想到AFNetworking,我在demo中用的是Alamofire,同一个作者,只是全新的Swift语言写的。JSON解析也是用的第三方框架SwiftyJSON,国产的,必须支持。使用pod导入框架,先放上关于Alamofire和Kingfisher的文章吧,我参考的网上朋友的

Swift Alamofire :https://www.jianshu.com/p/07b1ec36a689

SwiftyJSON:https://blog.csdn.net/ly410726/article/details/80235007

我在是用Charles随便抓的一个接口,get请求的,同样贴一个关于Charles的

Charles使用:https://www.cnblogs.com/mawenqiangios/p/8270238.html

下面是我用Alamofire的简单Get请求和数据简析:


具体的解析看数据类型变化,我的是字典里面套的数组,不过Swift多类型的检查很nice,你的类型对不上的时候会提示你。

数据展示

OC赋值model给cell是给cell添加一个model类型的属性,Swift不需要,世界在cell中写一个方法,参数是想要的数据就行,真的是舒服,不过这里涉及一个网络图片加载的,类似于OC中的SDWebImage,我使用的 Kingfisher,同样的使用pod导入,盘它。

Kingfisher :https://www.jianshu.com/p/c50d31ef38d1

总结

到此,我这demo就介绍完毕了,没什么很厉害的东西,就是很简单的Swift使用,算是我踏入Swift的第一步吧,简单的讲了三个和demo也是以后我我们接触到项目的框架,有兴趣的伙伴可以一起加入学习的行列,也希望在已经在路上的前辈大神都给知道意见,接口抓取的《懒人周末》,仅供学习参考,如有不妥,跟我说一声,我就删除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,245评论 4 61
  • 今天笔回来了 涂得第一幅古风
    LSev7n阅读 193评论 0 0
  • 我想租个小院子 然后养一只猫 要靠着躺椅 懒懒的晒太阳 你知道的是 院子里会有树 你不知道的 猫用你的名字 我是未...
    西北z阅读 165评论 0 0
  • 白雪公主睡在城堡中, 你一遍又一遍贪吃着她的唇炎。 她没有睁开眼睛, 虽然她已经醒来。 白马王子不骑马, 你为何还...
    简村小吹阅读 312评论 0 1
  • 1.要开学了,抓住假期小尾巴,早晨想起很久没去做按摩了,脖子都要僵直了,后背像个板子,僵硬酸木,与聪聪商量好,让她...
    感恩生命中有你阅读 255评论 0 2