- 博客(6)
- 收藏
- 关注
原创 objc - NSString Category实现+initialize导致EXC_BAD_ACCESS
NSTaggedPointerString 引起的 EXC_BAD_ACCESS
2022-09-14 21:12:59 1078
原创 objc - 接收任何消息的NSNull
动机无论出于容错的目的,还是偷懒的目的,你都想你的NSNull的对象接受一切消息而不Crash了,就如你发消息给nil一样。那么,就写个NSNull (FilterMessages)的Category,简单又直接,引入项目里头就好了。
2017-02-13 20:27:15 807
原创 objc - 编译Runtime源码objc4-706
其实编译Runtime源码objc4-706,跟objc - 编译Runtime源码objc4-680是大同小异的。这里也简单写一下吧,如果大家编译过objc4-680,相信下面的步骤是很熟悉的。
2017-01-14 13:19:53 5570 9
原创 objc - 编译时期的Category
为了加深我们对Category的理解,在Runtime处理Category之前,我们看看编译时期Category会被clang弄成长什么样呢?
2016-09-28 12:14:04 888 1
原创 objc - Category中调回主类的同名原方法
Category方法中调用主类的同名原方法实际上,Category并没有覆盖主类的同名方法,只是Category的方法排在方法列表前面,而主类的方法被移到了方法列表的后面。 于是,我们可以在Category方法里,利用Runtime提供的API,从方法列表里拿回原方法,从而调用。
2016-09-18 17:42:40 4604 1
原创 objc - 编译Runtime源码objc4-680
从苹果开源网站上,我们可以找到很多有意思的开源项目。objc4是其中一个,也即我们通常说的Runtime源码,我们遇到的libobjc.A.dylib就是用它编译出来的。 而这篇文章的目的,就是教你从苹果提供的Runtime源码,编译出自己的libobjc.A.dylib。进而你可以调试它,深入了解它。
2016-09-09 17:41:17 11331 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人