2016-12-06 28 views
0

에 :"방법 '푸'클래스 '바'에 정의 및 표시되지는"다음의 방법을 감안할 때 AppCode

- (void)sendEvent:(UIEvent *)event 
{ 
    NSSet *allTouches = [event allTouches]; 

    if ([allTouches count] > 0) 
    { 
     _lastUserTouchTime = [[NSDate date] timeIntervalSince1970]; 
    } 

    [super sendEvent:event]; 
} 

에서 [이벤트 allTouches]를 AppCode 2016.3에서 다음 검사 경고를 생성합니다.

"방법 'allTouches는'클래스 '의 UIEvent'에 정의 및 표시되지이다"

allTouches는 < UIKit에 정의되어 /UIEvent.h> 내가 더에 포함되지 해봤하는 효과. Xcode는이 코드와 관련하여 문제가없는 것 같습니다. 누구나 이것에 대해 통찰력을 갖고 있습니까?

+0

올바른 것처럼 보입니다. 이벤트 대표자에게 해봤습니까? 처럼; - (void) touchesBegan : (NSSet *) withEvent :(UIEvent *) 이벤트를 터치합니다. –

답변

1

그게 전부는 allTouches 때문에이 코드에 속성으로

봐 정의 : 아이폰 OS SDK의

NS_CLASS_AVAILABLE_IOS(2_0) @interface UIEvent : NSObject 
... 
#if UIKIT_DEFINE_AS_PROPERTIES 
@property(nonatomic, readonly, nullable) NSSet <UITouch *> *allTouches; 
#else 
- (nullable NSSet <UITouch *> *)allTouches; 
#endif 
... 
@end 

이후 버전이 아니라 방법보다 속성을 사용합니다. 그리고 AppCode는 Xcode보다 더 엄격한 유형 검사를합니다. 그래서 Xcode가 자동으로 컴파일되고 AppCode가 경고를 표시합니다.