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

homeleaf/SwiftEFarm
关闭

forked from ShownBie/SwiftEFarm
关闭
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

SwiftEFarm

我的第一个swift项目

效果图:

轮播图 截图 截图 截图

阅读这个项目你可以学到的东西:

  • 如何创建一个文件目录清晰的项目
  • swift基本语法,例如普通属性和计算属性,类别,外部方法内部方法等...
  • swift侧滑轮子的封装
  • MVVM的Controller的写法
  • swift使用CocoaPod导入第三方, 使用混编使用OC第三方
  • 3DTouch快速启动和Peek/Pop
  • TablveView的性能优化
  • iOS11的适配和iPhone X的适配

以上的知识点基本按照写这个项目的时间顺序来总结的, 其实到3DTouch本来就打算结束项目的, 结果发现升级iOS 11之后系统的TableView变得更加卡顿, 不优化的情况下用户体检很不好(怀疑的可以看看iOS11.0的iPhone 设置->移动蜂窝网络 滑动测试一下), 所以彻底进行了优化, 同时顺便适配iPhone X, 至此项目完结


项目目录阅读指导

这个项目从Xcode的singleView模板创建而来, 经过文件整理归类和修改创建了一个标准易于维护的模板, 最终的你可以通过以下链接学习

一步一步创建一个标准的iOS项目模板

最终结果如下:

项目标准目录

作为项目阅读指导模块,介绍一下项目目录框架

项目使用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体验做的一些优化.

至此项目也是比较完美了. 欢迎提意见

关于此项目的博客, 编写中, 即将上线

空文件

简介

练手的swift项目 农天下 展开 收起
Swift
取消

发行版

暂无发行版

贡献者

全部

近期动态

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

搜索帮助