我已經創建了一個名爲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