runtime编程
不是每一种牛奶都叫特仑苏
这个作者很懒,什么都没留下…
展开
-
Message Forwarding + 动态绑定
> “unrecognized selector sent to instance …" 错误 动态绑定:objc_msgSend的实现,查找implementation表,最终是C函数形式的调用。 当某个类(以及继承树上的父类)编译时没有动态实现被调用的method的时候,一般情况下会被NSObject处理这个method(selector)并抛出异常。原创 2016-01-04 20:10:42 · 502 阅读 · 0 评论 -
Runtime编程 - Swizzle Stuff
objective-c的instance method调用实际上是查表再通过C形式调用的过程,这个函数表是可以操作的,这样就给了我们可以在运行时修改的机会,这种做法叫swizzle . 里面提供了API,我们以调换NSString的lowercaseString与我们的category里面的stoneLowercaseString为目标。实现swizzle基本上会用到catego原创 2016-01-04 20:09:14 · 674 阅读 · 0 评论