1.当将一个消息传递给了一个object,但是这个object不懂这个消息时,该如何处理呢?
一个类,只懂那些通过实现方法的消息。
当给一个对象发送它不明白的消息,这并不是一个编译时报错(not a compiler-error).因为方法可以在runtime时动态地加给一个类,因此编译器(compiler)并不知道是否有实现这个方法。 当object遇到了它不明白的方法时,它会通过message forwarding,一个程序专用来让你告知迷茫的object该怎么办。
来分析一下报错:
消息接收者:类型是_NSCFNumber
它不明白:lowercaseString是什么意思。
forwarding pathways ended in the application's crashing.
但是我们可以写一些程序让其不crashing.