2012-06-16 88 views
2

當我構建應用程序,我得到的UITouch行警告說應用程序崩潰時觸及

不兼容的對象-C初始化「結構的NSArray *」,預期「結構UITouch *」

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
    { 
     UITouch *myTouch = [[event allTouches] allObjects]; 
     player.center = [myTouch locationInView:self.view]; 
    } 

當我運行應用程序,它一切都開始良好,直到我點擊播放器,然後它關閉。誰能幫忙?

+0

很好的問題! – Luke

回答

0

也許你的意思是:

UITouch *myTouch = [[event allTouches] anyObject]; 

或:

UITouch *myTouch = [touches anyObject]; 
1

-allObjects方法返回的觸摸NSArray,如果你想從設置你需要使用-anyObject方法單一對象:

UITouch *myTouch = [[event allTouches] anyObject]; 
0

你的變量myTouch是POIN ter到UITouch對象。但是,如果你看一下文檔,你會發現一個UIEventallTouches返回NSSetNSSetallObjects返回NSArray。因此,你試圖告訴計算機myTouch將會得到一個UITouch傳入的對象,當它幾乎肯定會得到NSArray

就像把一個正方形掛在一個圓洞。