簡體   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