在学习Objective-C时,我遇到了一个需要将两个不同的对象(一个从另一个继承)添加到数组的情况。虽然它确实有效,但我并不是100%肯定这是一个好习惯吗?多个对象数组类型?
@interface TireBasic : NSObject {
}
@end
@interface TireSnow : TireBasic {
}
@end
// To this array?
TireBasic *tires[4];
欢呼-gary-
在学习Objective-C时,我遇到了一个需要将两个不同的对象(一个从另一个继承)添加到数组的情况。虽然它确实有效,但我并不是100%肯定这是一个好习惯吗?多个对象数组类型?
@interface TireBasic : NSObject {
}
@end
@interface TireSnow : TireBasic {
}
@end
// To this array?
TireBasic *tires[4];
欢呼-gary-
看起来不错。另一种选择是使用id
类型。
我很快尝试过使用id类型,但我在某处混淆了。就像我说的那样,明天我会做一个更小的testBed程序来让它独立工作。 – fuzzygoat 2009-09-22 17:39:37
这没什么错。在这里工作的基本多态性。
数组不在Objective-C中输入,因此可以将任何类型的对象作为数组元素使用。至于这是否是良好的做法,这完全取决于您的计划如何使用阵列
为什么不使用NSArray? – pix0r 2009-09-22 17:31:59
因为NSArray并不总是最好的解决方案?在很多情况下,这是一个更好的选择,但是在效率和速度非常重要的情况下使用普通C数组没有任何问题。 – 2009-09-22 17:37:00
谢谢,明天我会看看使用NSArray。 – fuzzygoat 2009-09-22 17:38:59