iPhone Objective-C foreach设计

11 iphone foreach objective-c

我正在尝试实现如下设计:

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)