
iOS
清丶风
这个作者很懒,什么都没留下…
展开
-
iOS 视图重新绘制的时机
一般触发视图重新绘制的时机有以下几种: 当遮挡该视图的其他视图被移动或者操作 将视图的hidden属性设置为NO,使其从隐藏状态变为可见 将视图滚出屏幕,然后在重新回到屏幕上 显示调用视图的setNeedsDisplay或者setNeedsDisplayInRect方法 注:setNeedsDisplay是重新绘制整个视图,setNeedsDisplayInRect是重新绘制视图的本分区域...原创 2018-07-30 10:58:55 · 887 阅读 · 0 评论 -
KVO的基础使用和底层实现
KVO的基础使用和底层实现(一)KVO的概述KVO的实现步骤KVO的手动监听功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出...原创 2018-12-10 15:15:30 · 306 阅读 · 0 评论 -
iOS Dispatch
简述 队列有串行队列和并发队列,线程有同步一个异步,我们今天看一下两个组合的结果 并行+同步原创 2018-12-13 14:13:00 · 191 阅读 · 0 评论 -
iOS 取消GCD的延时操作
GCD的延时操作 我们经常在使用CGD延时之后,一般无法取消,苹果没有提供相对应的api接口,我们通过对GCD的封装来取消延时。 下面我们直接上代码: typedef void(^SMDelayedBlockHandle)(BOOL cancel); static SMDelayedBlockHandle perform_block_after_delay(CGFloat seconds, di...原创 2018-12-12 11:56:03 · 2131 阅读 · 0 评论 -
iOS组件化开发简介
使用组件化的原因 在一个项目越来越大,开发人员越来越多的情况下,项目会遇到很多问题。 业务模块间划分不清晰,模块之间耦合度很大,非常难维护。 所有模块代码都编写在一个项目中,测试某个模块或功能,需要编译运行整个项目。 后来我们通过中间层进行组件化优化,只让其他模块对中间层产生耦合关系,中间层不对其他模块发生耦合。 进行组件化开发后,可以把每个组件当做一个独立的app,每个组件甚至可以采取不同...原创 2018-12-21 11:27:47 · 311 阅读 · 0 评论