如果一个班级有很多类别,会发生什么?

时间:2011-12-14 06:19:09

标签: objective-c

在Objective C中,如果一个类在单个应用程序中有许多类别, 我们在实例化时指定了我们想要的类别吗?

2 个答案:

答案 0 :(得分:1)

所有类别中定义的所有方法都将添加到类中。这发生在运行时,如果在具有相同签名的不同类别中有两种方法,则未定义将使用哪种方法,因此即使您可以为所有特定实例指定特定类别也没有意义 - 所有实例化无论如何都将使用相同的方法实现。

如果您想拥有仅适用于特定实例的方法,请使用子类。

答案 1 :(得分:0)

实例化时无需指定所需的类别类别。类别添加的方法成为类的一部分。例如,如果将方法添加到NSString类,则编译将期望NSString实例具有其库中的所有内容。