【一】Swift 3.0 新浪微博项目实战 -总体框架搭建

最近要接手swift项目,因此找了个视频跟着作一下实战项目,在此记录一下过程和心得git


 

第一天的 源码点这里github

框架搭建和目录拆分

关键词:MVVM 架构,桥接文件swift

  • 桥接文件
    用于引入OC的头文件,Swift就能够正常使用(宏除外)。项目内桥接文件( weibo-Bridge.h)架构


设置Tabbar样式 ,经过字典添加子控制器

关键词:guard let ,lazy 懒加载, extension,溢出TabbarItem的处理,@objc private 框架

  • guard let
    在读取字典属性的时候,避免空值
    相对于if let的使用,避免过多的嵌套,写法更加简洁方便
  • 比较多的像新浪微博这种,底部Tabbar都会有一个比较独特的按钮。有些APP底部按钮有溢出底部栏的状况。 这个时候设置多一个tabbarItem,用一个按钮覆盖多出来的item, 达到效果。 在有超过底部栏的状况能够设置tabbar.bounds.insets 来解决
    注意一个像素点的按钮容错ide

  • @objc
    看到objc应该能发现这是和oc有关
    通常在添加按钮的点击方法的时候都是设置 private 保证方法私有,可是直接用private编译不经过
    经过@objc,容许这个函数在运行时经过OC的消息机制被调用, 全部及时被私有了,在运行时依然能调用到函数

  • extension
    相似OC中的分类

重写push方法,隐藏底部tabBar

关键词: override  , super ,栈底控制器字体

  • 重写 BaseVC的push方法。 判断值为子控制器个数

抽取barButtonItem 便利构造函数

关键词: convenience 便利构造函数 , as? spa

  • as?vc.type 用来判断是否某种类型

自定义navBar

关键词: didsetcode

  • didset 重写属性的set方法
  • 系统导航条在pop的时候有融合的状况,须要移除,自定义navBar.添加字体高亮,自定义返回样式


最后

find . -name "*.swift" | xargs wc -l

能够看到今天作的swift的文件 和代码行数

相关文章
相关标签/搜索