我正在尝试实现如下设计:
Touchclass:充当接口,几个类继承自它:
MoveTouchclass
JumpTouchclass
InterfaceTouchclass
然后我想要一个Touch对象列表.然后我希望能够剥离所有MoveTouch对象(而不是其他对象),然后将所有JumpTouch对象分开,等等,从这个大的列表中删除.不幸的是,for (MoveTouch* t in touches)没有做我想做的事; 整个列表中的所有内容都会被执行.
Lou*_*arg 40
您需要测试类类型:
for (Touch *t in touches) {
if ([t isKindOfClass:[MoveTouch class]]) {
MoveTouch *mt = (MoveTouch *)t;
// do what you want with mt
}
}
Run Code Online (Sandbox Code Playgroud)