繁体   English   中英

触摸时应用崩溃

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM