我正在做一个类来初始化某些类的实例。这个类将被用来初始化几个不同类的类,它们都是从一个普通的超类中分类出来的。目前我正在使用一个实例变量:我可以为类类型变量指定特定的超类需求吗?
Class templateClass;
存储类的类型。我得到编译器警告,说templateClass不支持方法。有没有办法抑制这些警告或指定模板类必须是某个类的子类?
此外,这是在objective-c中执行此操作的理想方法吗?有没有不同的方式来指定我应该使用的类?
感谢您的帮助!
编辑: 我写的这个类是为了在随机选择的位置创建精灵并用一些变量来限制它们。这个类期望它激发的类有一个initWithX:(int)pos yVariance:(int)variance
方法。我期望这可以使用你提到的协议来定义。我将为每个我必须创建的精灵类型创建rezzing类的多个实例。我希望能够发送重新分类initWithTemplateClass:(Class)templateClass
来定义要创建的精灵的类型。我不确定这是否是正确的方法,但是因为编译器发布方法initWithX:(int)pos yVariance:(int)variance
不适用于templateClass。我期待着我正在处理这个问题。 显示这条警告的代码是:
[self addChild:[[templateClass alloc] initWithX:positionOfChild
yVariance:(random()%(rowVarianceSize+1))]];
也许你应该发布一些代码,显示你如何使用'templateClass'生成警告。 – imaginaryboy 2010-08-22 23:42:01
刚刚添加了代码 – dhatch387 2010-08-23 00:04:24