Effective objective-C 理解消息forwarding

来源:互联网 发布:为什么淘宝销量会减少 编辑:程序博客网 时间:2024/05/17 22:02

1.当将一个消息传递给了一个object,但是这个object不懂这个消息时,该如何处理呢?

一个类,只懂那些通过实现方法的消息。

当给一个对象发送它不明白的消息,这并不是一个编译时报错(not a compiler-error).因为方法可以在runtime时动态地加给一个类,因此编译器(compiler)并不知道是否有实现这个方法。  当object遇到了它不明白的方法时,它会通过message forwarding,一个程序专用来让你告知迷茫的object该怎么办。


来分析一下报错:

消息接收者:类型是_NSCFNumber

它不明白:lowercaseString是什么意思。

forwarding pathways ended in the application's crashing.

但是我们可以写一些程序让其不crashing.


0 0
原创粉丝点击