我试图实现如下的设计:Touch
类:充当接口,几个类继承它:MoveTouch
类JumpTouch
类InterfaceTouch
类
然后我想要一个Touch
对象的列表。然后我希望能够将所有MoveTouch
对象(而不是其他对象)从这个大列表中去掉,然后将所有JumpTouch
对象分别去掉,等等。不幸的是,for (MoveTouch* t in touches)
并没有按我的要求去做;整个列表中的所有内容都会被执行。
最佳答案
您需要测试类类型:
for (Touch *t in touches) {
if ([t isKindOfClass:[MoveTouch class]]) {
MoveTouch *mt = (MoveTouch *)t;
// do what you want with mt
}
}
关于iphone - iPhone Objective-C foreach设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1706153/