나는 내가 얻을 것으로 예상되는 개체를 얻지 못하는 for 루프를 가지고 있습니다.in 루프에 대해 잘못된 개체를 반환합니다.
나는 MainLayer
이라는 CCLayer 클래스를 가지고 있는데 여기에는 클래스 MyUniqueClass
의 하위 항목을 추가합니다. 그러나 모든 MyUniqueClass
개체를 얻으려고하면 다른 CCNode 개체도 얻을 수 있습니다. 여기에 내가 MainLayer
에서 할 무엇을 다음 CCNode 객체가 왜
for (MyUniqueClass *mUC in self.children){
NSLog(@"%@", mUC); //Here I get all kinds of objects
}
그래, 거기에 의도적으로 CCNode 개체가 있습니다. for 루프는 모든 MyUniqueClass 객체를 제공한다고 생각했습니다. 그것이 나에게 모든 CCNode 객체를 주면 어떻게 사용합니까? for 루프를 사용하지 않고 자식을 반복하고'-isKindOfClass' 메서드를 사용할 수 있습니다. –
for 반복문은 빠른 반복자입니다. 그게 다야. in에 대한 –
은 self.children의 모든 객체를 반환합니다. 수신 포인터를 MyUniqueClass *로 캐스팅하면 가져 오는 객체가 변경되지 않습니다. – LearnCocos2D