通常我们会想当然地认为,我们可以把任何想要的消息发送给代码中类型为“id”的变量,然后Objective-C的动态消息处理就会在运行时让这一调用 正确地工作。但在某些罕见的情况下,这种假定是错误的。在本文中,我将着眼于几种你需要谨慎处理的情况,在这些情况下,给"id"类型的变量发送消息要小 心;并且我还会谈到这样的一种情形,即Objective-C存在的一个局限性需要我们以一种丑陋的权变做法来避免一些严重的错误。
通常我们会想当然地认为,我们可以把任何想要的消息发送给代码中类型为“id”的变量,然后Objective-C的动态消息处理就会在运行时让这一调用 正确地工作。但在某些罕见的情况下,这种假定是错误的。在本文中,我将着眼于几种你需要谨慎处理的情况,在这些情况下,给"id"类型的变量发送消息要小 心;并且我还会谈到这样的一种情形,即Objective-C存在的一个局限性需要我们以一种丑陋的权变做法来避免一些严重的错误。