在没有直接了解的情况下施放课程?

时间:2012-05-15 11:35:01

标签: iphone objective-c ios ipad class

在没有直接了解实际课程的情况下,我有没有办法上课?

E.g。

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

我有这个代码,我将一个对象传递给名为'object'的方法。我们说objectPerson类,但它也可以是Animal类。所以我不能这样做:

object = (Person *)editedObject;

因为我不确定那个班级。那么如何在不直接了解课程的情况下施放课程呢?

感谢。

1 个答案:

答案 0 :(得分:0)

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

因此,如果您在编译时“不知道”类型,那么通过强制转换就没有语法上的便利。所以完全没有必要“铸造”。