首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Assuner
掘友等级
搬砖
|
蚂蚁金服
iOS小学生
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
205
文章 186
沸点 19
赞
205
返回
|
搜索文章
最新
热门
亮剑: Stinger到底能比Aspects快多少
同时把被Hook类的 -(void)forwardInvocation:(NSInvocation *)invocation方法的函数指针替换为参数对齐的C函数__ASPECTS_ARE_BEING_CALLED__(NSObject *self, SEL selector, …
(三) git pre-push hook 实践一二
在 (一) 初探 iOS 单元测试 一文中,我们简单提到了执行xcodebuild test可以启动工程的单元测试并输出测试结果,但手动执行此类命令意义是不大的。我们需要的是,把一些测试和lint等命令写在脚本文件里,在代码提交、合并及打包等行为实际发生前,自动执行脚本,以执行…
Hook方法的新姿势--Stinger (使用libffi实现AOP )
众所周知,使用runtime的提供的接口,我们可以设定原方法的IMP,或交换原方法和目标方法的IMP,以完全代替原方法的实现,或为原实现前后相当于加一段额外的代码。 使用知名的AOP库 Aspects ,可以更便捷地为原方法实现前后增加(代替)额外的执行。 另外,Aspects…
简单好用可任意定制的iOS Popover气泡
popover的属性可在option里设置。
Stinger--实践实现特定实例对象的AOP
在 iOS完整实践: 使用Libffi实现AOP 一文中,我们介绍了实现AOP的一种方式,通过解析目标方法的签名,使用ffi_prep_cif和ffi_prep_closure_loc构造壳函数替换原函数实现,以感知原方法调用时机及捕获参数,最后通过ffi_call利用预生成的…
(一) 初探 iOS 单元测试
单元测试(Unit Testing)又称为模块测试,是针对程序模块软件设计来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。对于面向对象编程,最小单元就是方法,包括基类、抽象类、或者派生类中的方法。 每个理想的测试案例独立于其它case,测试时需隔离模块。单元测试通常…
用代码理解ObjC中的发送消息和消息转发
当我们向一个对象(实例对象、类对象)发送一条消息时,对象可能是处理不了的,结果就是程序发生crash。 ① NilTest宏,判断对象是否为nil,若为 nil,直接返回 nil。 ③ CacheLookup宏_cache_getImp(Class cls, SEL sel)包…
(四) 使用Travis CI集成单元测试
在 git pre-push hook 实践一二 一文中,我们实践了如何使用pre-hook执行单元测试以影响push操作的结果。但这种方式也有不少缺点,如无法hook pr,无法在提交版本里记录和共享显示测试的结果。Travis CI作为github官方支持的service,…
用代码探讨KVC/KVO的实现原理
关于KVC/KVO的实现原理,网上的相关介绍文章很多,但大部分说的比较抽象,难以真切的理解,下面我们直接撸代码来实地探讨下。 ①->⑨全部执行成功; 其中①③④⑥ 执行了setter方法,⑦⑧执行了getter方法,②⑤⑨直接访问的实例变量。 1.访问器匹配:先寻找与getKe…
(二) kiwi 实践一二
上一篇 初探 iOS 单元测试 我们简述了单元测试的目的和本质,并介绍了XCTest的常见用法。XCTest作为iOS单元测试底层的工具,可以编写出各种细微漂亮的测试用例,但直观上来看,测试用例代码量大,书写繁琐,方法及断言可读性较差,缺乏Mock工具,各个测试方法是独立的,不…
下一页
个人成就
文章被点赞
222
文章被阅读
41,488
掘力值
1,012
关注了
64
关注者
1,257
收藏集
0
关注标签
18
加入于
2017-12-13