当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 26

满江红日/SwiftEFarm
关闭

forked from ShownBie/SwiftEFarm
关闭
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
--- 10月9更新 ## 一个准备干大事的项目应该包含什么: ### fastlane 1. 项目下载,证书配置 2. 上传AppStore ### 清晰的分支 - baseProject 基础分支,所有公共资源和项目配置。原则:用tag标记稳定版本;可以用稳定版本开发新功能。 - *xxxxx* 小模块分支等,基于baseProject开发的模块分支,完成后并入develop。 - develop 开发分支,完整项目的开发分支。 - test 测试分支,所有移交测试的版本,测试完成即可并入master。 - master 主分支,只存放完整项目稳定的版本的分支,tag上线版本。 - **说明:如有需要 可以将baseProject扩展为项目主框架(包含所有功能的抽象api);’xxxxx‘子框架调用api,不关心过程;子框架可以设置单独的临时test分支。** ### 规范的项目 #### 1. 文件目录 1. 文件夹已分类 2. 使用cocoapod管理三方库 3. 桥接文件 #### 2. 运行测试 1. Scheme建立了test,release 2. Test 和 UITest #### 3. swiftlint 代码检查 [github/swift-style-guide](https://github.com/github/swift-style-guide) ### 谨慎的开发和设计 1. 如有需要可以分别创建多个组件项目,实现组件化(分支介绍最后一条分多个repo 处理) 2. 项目 Theme 设计 3. Navigator 页面跳转(可选) 4. 弹窗统一管理 设计 5. Review控制 设计 6. 通知统一管理 设计 7. 通用链接,调用系统分享等与iOS系统对接的设计 8. 测试环境下的专用配置,例如不上传统计,例如动态修改UI continue... #### end 看到这里当45°仰望天花板,呡一口清茶,贪闲一刻~ --- --- # SwiftEFarm 我的第一个swift项目 效果图: ![轮播](show.gif "轮播") ![截图](pic2.png "截图") ![截图](pic3.png "截图") ### 阅读这个项目你可以学到的东西: - 如何创建一个文件目录清晰的项目 - swift基本语法,例如普通属性和计算属性,类别,外部方法内部方法等... - swift侧滑轮子的封装 - 完整的MVVM编程思路 - swift下Model处理 - swift使用CocoaPod导入第三方, 使用混编使用OC第三方 - 3DTouch快速启动和Peek/Pop - TablveView的性能优化 - iOS11的适配和iPhone X的适配 > > 以上的知识点基本按照写这个项目的时间顺序来总结的, 其实到3DTouch本来就打算结束项目的, 结果发现升级iOS 11之后系统的TableView变得更加卡顿, 不优化的情况下用户体检很不好(怀疑的可以看看iOS11.0的iPhone 设置->移动蜂窝网络 滑动测试一下), 所以彻底进行了优化, 同时顺便适配iPhone X, 至此项目完结 --- ## 项目目录阅读指导 这个项目从Xcode的singleView模板创建而来, 经过文件整理归类和修改创建了一个标准易于维护的模板, 最终的你可以通过以下链接学习 #### [一步一步创建一个标准的iOS项目模板](https://my.oschina.net/bieshixuan/blog/775507) 最终结果如下: ![项目标准目录](https://git.oschina.net/uploads/images/2017/0921/101815_cfee224a_524226.png "mulu.png") #### 作为项目阅读指导模块,介绍一下项目目录框架 ``` 项目使用swift4编写, 适配最新iPhoneX Constant 模块 AppUrl : 定义url静态变量 PublicConstant : 定义cellidentifier, ScreenWidth等变量, BaseColor等变量, 封装view的一些属性(.width等), UIDevice分类判断iPhone X MianCode 模块 各个模块 每个模块分位四块:controller(界面跳转,view切换), control(数据下载, 解析model), model(model申明), cell(view) General 模块 UserInfo : 示例封装set/get UserDefaults RootController : 封装侧滑界面 (这是本项目的第一个类, 也是我开始学习swift的第一个类, 包含基本语法的注释) Library 模块 示例使用OC混编, 没有使用CocoaPod的第三方库 包括 : MJRefresh, DZNEmptyDataSet 等 Resouce 模块 图片文件 Config模块 项目初始文件 Pod 'Alamofire' 网络请求 'SwiftyJSON' Json解析 'Kingfisher' image缓存 'PKHUD' 加载动画 ``` --- 因为这个项目是第一次使用swift语言, 所有淌了很多水, 也是查阅了很多资料, 会在以下博客中体现. 项目对于使用哪个轮子也是做了很多考察, 使用pod还是本地等. 对与项目的整体设计和UI体验做的一些优化. 至此项目也是比较完美了. 欢迎提意见 ## [关于此项目的博客, 重磅上线😄](https://my.oschina.net/bieshixuan/blog/1541883) )

空文件

简介

完成版的Swift项目, 适配11和X 展开 收起
Swift
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Swift
1
https://gitee.com/caorannihao/SwiftEFarm.git
git@gitee.com:caorannihao/SwiftEFarm.git
caorannihao
SwiftEFarm
SwiftEFarm
master

搜索帮助