0

有什么方法可以让我在不直接知道实际课程的情况下上课吗?

例如

if ([editedObject isKindOfClass:[object class]])
{
    object = editedObject;
}

我有这段代码,我将一个对象传递给名为“对象”的方法。Let sayobject是一个Person类,但它也可以是一个Animal类。所以我不能这样做:

object = (Person *)editedObject;

因为我不确定它的那个类。那么我怎样才能在不直接知道的情况下投射课程呢?

谢谢。

4

1 回答 1

0

你试图做的事情没有意义。不同的对象指针类型纯粹是编译时的事情。从一个对象指针类型到另一个对象指针类型的转换纯粹是为了语法方便,并且在运行时不执行任何“操作”(它甚至不检查对象是否是您将其转换为的类型)。

因此,如果您在编译时“不知道”类型,那么通过强制转换就无法利用语法便利。因此,“铸造”完全没有意义。

于 2012-07-26T21:19:47.723 回答