- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 iOS组件化开发简介
使用组件化的原因在一个项目越来越大,开发人员越来越多的情况下,项目会遇到很多问题。业务模块间划分不清晰,模块之间耦合度很大,非常难维护。所有模块代码都编写在一个项目中,测试某个模块或功能,需要编译运行整个项目。后来我们通过中间层进行组件化优化,只让其他模块对中间层产生耦合关系,中间层不对其他模块发生耦合。进行组件化开发后,可以把每个组件当做一个独立的app,每个组件甚至可以采取不同...
2018-12-21 11:27:47
307
原创 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
2104
原创 KVO的基础使用和底层实现
KVO的基础使用和底层实现(一)KVO的概述KVO的实现步骤KVO的手动监听功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出...
2018-12-10 15:15:30
303
原创 iOS 视图重新绘制的时机
一般触发视图重新绘制的时机有以下几种:当遮挡该视图的其他视图被移动或者操作 将视图的hidden属性设置为NO,使其从隐藏状态变为可见 将视图滚出屏幕,然后在重新回到屏幕上 显示调用视图的setNeedsDisplay或者setNeedsDisplayInRect方法注:setNeedsDisplay是重新绘制整个视图,setNeedsDisplayInRect是重新绘制视图的本分区域...
2018-07-30 10:58:55
873
原创 解决Xcode rename failed的问题
1、前往文件夹 ~/Library/Developer/Xcode/DerivedData2、删除里面的文件3、将项目重新编译或者运行一遍就可以了
2018-07-20 09:59:12
5644
原创 简单学习Markdown
标题标题一共有6中大小样式,你只需要在文本前面加上 # 即可,例如: # 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题 显示的结果列表列表一般使用的是有序列表和无序列表,有序列表是用的 - 后加文字,无序列表是用的 1. 后加文字,注意后面加文字的时候中间要留一个空格,例如:- 文本1...
2018-07-18 15:08:24
133
原创 iOS WKWebView设置localStorage
NSString * userContent = @"{\"name\": \"Tom\", \"age\": 10}"]; // 设置localStorage NSString *jsString = [NSString stringWithFormat:@"localStorage.setItem('userContent', '%@')", userContent]; ...
2018-07-09 14:49:48
8686
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人