博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【一】Swift 3.0 新浪微博项目实战 -整体框架搭建
阅读量:5139 次
发布时间:2019-06-13

本文共 930 字,大约阅读时间需要 3 分钟。

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


 

第一天的 

框架搭建和目录拆分

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

  • 桥接文件

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


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

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

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

    注意一个像素点的按钮容错

  • @objc

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

  • extension
    类似OC中的分类

重写push方法,隐藏底部tabBar

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

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

抽取barButtonItem 便利构造函数

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

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

自定义navBar

关键词: didset

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

最后

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

可以看到今天做的swift的文件 和代码行数

 

 

转载于:https://www.cnblogs.com/L-vincen/p/6613057.html

你可能感兴趣的文章
【方法2】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录
查看>>
C# CheckedListBox控件的使用方法
查看>>
【HDOJ】2007平方和与立方和
查看>>
js中const,var,let区别
查看>>
js实现页面的自定义翻译
查看>>
谈谈px,em,rem(采自菜鸟)
查看>>
我的软件工程师之路,给需要的同学!
查看>>
学了 C 语言到底能做什么, 能从事什么工作?
查看>>
C 语言究竟是一门怎样的语言?
查看>>
Windows下学习C语言有哪些集成开发软件?
查看>>
STM32 HAL库学习系列第8篇---回调函数总结
查看>>
创建vue项目
查看>>
javascript let
查看>>
vim 使用
查看>>
shell 监控
查看>>
授权某个数据库某个表权限
查看>>
elasticsearch 安装
查看>>
vue 结构赋值
查看>>
mac必装软件
查看>>
Redis内存分析工具—redis-rdb-tools (转载http://www.voidcn.com/article/p-axfdqxmd-bro.html)...
查看>>