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