我试图在if语句中声明一个变量。如果查询的结果是YES,那么该对象将是一种类型,否则它将是另一种类型。像这样的位......在if语句中声明对象类型
if (YES) {
ObjectTypeA *object = [[ObjectTypeA] alloc] init];
}
else {
ObjectTypeB *object = [[ObjectTypeB] alloc] init];
}
一旦这样做了我想使用相同的方法的对象,不管它是什么类型。我试图在if语句之前声明对象为id,但得到一个错误:成员引用类型'struct objc_object *'是一个指针;也许你打算使用' - >'?
我也尝试声明两个都是独立的对象之外,然后使指针指向我知道的任何一个。那也行不通。
我知道编译器试图通过这样做来保护我自己,但在这种情况下,我需要绕过它。
谢谢。
打破了解决此问题曾任职检测,即是或否为单独的方法。然后根据YES或NO声明每个方法中的对象。 – 2010-09-03 22:17:08
感谢所有花时间留下答案的人。 – 2010-09-03 22:17:29