前段时间公司需要开发一个App,但是有一个遗留下来的安卓版本的,索性我就只好拿来安卓的源码,安装上audio studio ,根据安卓版来开发swift版本,大概2个星期左右,项目就完成了。
第一步:搭建项目的基本架构

第二步:Pods的引入

1、Alamofire 网络请求框架 2、IQkeyBoardManagerSwift 键盘响应 3、MBProgressHUD 弹出提示 4、 SwiftyJSON 解析 5、WebViewJavascriptBridge js交互
第三步:由于项目本身也就20来个页面,项目也不复杂,所以全程都是用故事版(Storyboard)开发的,代码量较少,界面上的开发和oc是一致的,也没有什么改动。

1、网络请求,这是一个简单的登录请求

2、解析则是苹果自带的 Decodable 进行解析

注意:使用 Decodable 进行解析,字段的类型需要匹配,否则可能出现解析失败,
3、宏定义 swift中是不能使用宏定义的语法的,所以我们建了一个Const.swift 文件方便使用 利用 let 替代宏来使用

4、引用html文件 需要 create folder references 的形式引入,否则可能获取不到


总结: 整个项目下来,swift的代码量明显比oc要少很多,需要注意的是 swift 3.0 过渡的到 4.0 部分语法会有小的调整,不过基本稳定,效率也比较高。
网友评论