这套东西我从2017年更新到现在, 从Swift小白到现在能写点儿自己的心得, 这套东西比较适合Oc转Swift的新手, 所以大神们可绕行, 愿意给点儿意见的可以下方留言
拿到工程之后, 希望可以先看看CodeGuide.md文件, 里面有一些说明和代码规范供参考
我使用了cocoapods, 这东西尽量用起来吧
首先说一下工程结构

1, Config文件, 这里存放的是一些配置, 比如: 三方SDK的一些appid, appkey等, 这方面的东西我喜欢用枚举定义(这里不得不说, Swift的枚举以绝对优势秒杀Oc) , 还有一些字体, 颜色的配置(这个都是根据UI规范调整的), 这里就不一一赘述了
还有自己写了一个Debug, 增加了日志输出的代码行数, 文件名等, 这样方便查找

2, Helpers文件, 建议把这个文件夹里的东西都能看完, 保证提高代码质量和开发速度, 里面有些重要的东西象通知管理, 面向协议, 链式属性配置等等在CodeGuide.md中都有演示
3, Features(项目模块)
大家可以把项目代码放在这里, 目录结构根据模块来定, 我是这样的

我个人不太喜欢把二级页面放在某一个模块下的文件夹下, 这样发展下去文件路径会很长, 找起来很麻烦, 所以都放在Exhibitions中
4, Components(组件) 是组件库, 这个根据自己工程自己加, 工程中多次使用到的控件就可以放在这里, 我在组件库里放入了自己写的一个渐变色按钮的封装, 大家可以参考一下
5, Resources(资源文件) 这就不多说了, 工程的资源管理文件
6, Services(服务) 这是我自己写的API管理, 用枚举做的, 说实话我真的很喜欢Swift的枚举, 所以能用的时候尽可能都是枚举

api少可能看不出什么, 但是当api多起来的时候, 就能看出其中的好处了, 当然有更好的方法, 欢迎下方留言一起讨论
还有很多骚操作, 下面截图给大家看看, 如果想了解可以去看工程



我使用到了一些三方常用的比如:
# 约束框架
pod'SnapKit'
# 列表协议
pod'Reusable'
# JSON解析
pod'SwiftyJSON', '~> 4.2.0'
# 网络请求框架
pod'Alamofire', '~> 4.8.0'
# HUD提示框
pod'PKHUD', '~> 5.3.0'
这个大家可以自己更新, CocoaPods仓库源我用的是github的, 传说清华的好, 但我没品出来, 我添加进去了, 可以自己切换
感谢观看, 希望你能爱上代码
git clone git@github.com:BigEleven/Entertainment.git
链接: https://github.com/BigEleven/Entertainment
网友评论