来自不同类的数组

时间:2014-11-27 14:17:28

标签: objective-c arrays xcode class nsobject

我有一个类设备和几个子类,如手机,手表等。

我只是想知道是否可以从所有这些子类创建一个数组?我必须从class1 class2等创建对象并将它们放到一个数组中。此数组必须包含来自不同类的对象。该数组必须有200个元素。你能举个例子吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

是的,这完全有可能:

NSArray *array = @[
    @"a string",
    @1337, // a NSNumber
    [UIImage imageNamed:@"anImage"],
    //... and so on
]

答案 1 :(得分:1)

所以我认为我没有适当地发布问题。我必须从class1 class2等创建对象并将它们放到一个数组中。该数组必须包含来自不同类的对象

答案 2 :(得分:0)

我猜你正在寻找这样的东西:

NSMutableArray *yourArray = [[NSMutableArray alloc] init];

ObjectType1 *object1 = [[ObjectType1 alloc] init];
[yourArray addObject: object1];

ObjectType2 *object2 = [[ObjectType2 alloc] init];
[yourArray addObject: object2];

ObjectType3 *object3 = [[ObjectType3 alloc] init];
[yourArray addObject: object3];

这样你将拥有一个包含3个项目的数组。这是3个对象,每个对象具有不同的对象类型。请注意,您可以很好地管理对象。

以下是错误的,因为您正在读取第一个ObjectType1类型的对象,并且您将其分配给ObjectType2。

ObjectType2 *readingObject = [yourArray objectAtIndex:1];   // WRONG!