Я пытаюсь загрузить контроллер просмотра, где акселерометр перемещает изображение. появляется ошибка в заголовке, и приложение падает при загрузке просмотра."countByEnumeratingWithState: objects: count:" Error
- (void)collsionWithWalls {
CGRect frame = self.Mover.frame;
frame.origin.x = self.currentPoint.x;
frame.origin.y = self.currentPoint.y;
for (UIView *image in self.wall) {
if (CGRectIntersectsRect(frame, image.frame)) {
// Compute collision angle
CGPoint MoverCenter = CGPointMake(frame.origin.x + (frame.size.width/2),
frame.origin.y + (frame.size.height/2));
CGPoint imageCenter = CGPointMake(image.frame.origin.x + (image.frame.size.width/2),
image.frame.origin.y + (image.frame.size.height/2));
CGFloat angleX = MoverCenter.x - imageCenter.x;
CGFloat angleY = MoverCenter.y - imageCenter.y;
if (abs(angleX) > abs(angleY)) {
_currentPoint.x = self.previousPoint.x;
self.MoverXVelocity = -(self.MoverXVelocity/2.0);
} else {
_currentPoint.y = self.previousPoint.y;
self.MoverYVelocity = -(self.MoverYVelocity/2.0);
}
}
}
}
Ошибка показывает на линии: для (UIView * изображение в self.wall) {
Пожалуйста, помогите!
Показать полное сообщение об ошибке. И каков тип данных 'self.wall'? – rmaddy
Стена - это изображение, которое я хочу, чтобы движок отскакивал. Ошибка показывает: Тип выражения коллекции «UIImageView *» может не отвечать на «countByEnumeratingWithState: objects: count:» – Yugaman
Возможно, вам нужно «для (UIImage * image в self.wall.animationImages)». – rmaddy