我已经创建了一个名为Foo
类:呼吁变量的子方法类型为超
@interface Foo:NSObject{
int myInt;
}
@property int myInt;
@end
,并命名为Bar
的Foo
一个子类:
@interface Bar:Foo{
NSString *myString;
}
@property (copy) NSString *myString;
@end
我试图存储Bar
为一个Foo
阵列中的对象,如下所示:
-(void)createBar{
Foo *object = [[Bar alloc]init];
// myArray is an instance of NSMutableArray
[myArray addObject:object];
}
我这样做是因为我实际上有Foo
的多个子类(我不想全部列出)。当我从数组中获取对象并将消息发送给对象以获取myString
变量时,应用程序不会执行任何操作。 例子:
-(NSString *)getStringFromFooAtIndex(NSUInteger)index{
Foo *object = [myArray objectAtIndex:index];
return [object myString];
}
我误解 '消息' 是如何工作的?我的假设是我可以发送消息给一个对象,它会调用它是否存在或不存在。我需要以其他方式做这个吗?该数组将包含所有不同类型的Foo
子类,我需要它将它们存储在那里。
你在@synthesize你的属性? – dasblinkenlight 2011-12-13 17:11:27
是的,我在执行文件中。 – 2011-12-13 17:19:19