[英]App Crashes when touched
当我构建应用程序时,我在UITouch行上收到一条警告,说
不兼容的Object-c初始化'struct NSArray *',预期的'struct UITouch *'
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *myTouch = [[event allTouches] allObjects];
player.center = [myTouch locationInView:self.view];
}
当我运行该应用程序时,一切正常,直到我单击播放器,然后将其关闭。 有人可以帮忙吗?
-allObjects
方法返回触摸的NSArray
,如果要从集合中获取单个对象,则需要使用-anyObject
方法:
UITouch *myTouch = [[event allTouches] anyObject];
您可能是说:
UITouch *myTouch = [[event allTouches] anyObject];
要么:
UITouch *myTouch = [touches anyObject];
您的变量myTouch
是指向UITouch
对象的指针。 但是,如果你看一下文档,你会发现, allTouches
一中UIEvent
返回一个NSSet
,并allObjects
一个的NSSet
返回NSArray
。 因此,您试图告诉计算机myTouch
将要传入的UITouch
对象,几乎可以确定何时获得NSArray
。
就像将一个方形的钉子放在一个圆孔中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.