这有什么用(除了非碰撞部分)? 我想知道这种设计背后的思维过程。
答案 0 :(得分:5)
这是一个设计选择。在Objective-C术语中,一个“向对象发送消息”,而不是“调用方法”。所以你可以说,向一个不存在的对象发送消息根本就没有效果。如果你向一个不存在的人发出真实的信件,没有人会收到,没有人会回复或做任何事情。
答案 1 :(得分:2)
来自Java背景,我发现难以“制造我的”的一个原因是完全没有与方法调用相关的着名java.lang.NullPointerException
。
一旦你进入它,你会发现它是一个完全不同的方法,也不是一个坏方法:你发送一条消息,如果有人没有响应,程序不会崩溃。
这导致强制(在我看来当然)考虑返回价值,而不是担心存在的东西。