0

'GetTiming()'함수 사용과 관련하여 하나의 오류 및 경고가 발생합니다. 다음과 같이 내 colde은 다음과 같습니다CAKeyframeAnimation의 'GetTiming()'함수를 사용한 오류 및 경고

[values addObject:[NSNumber numberWithFloat:25.0]]; 
[timings addObject:GetTiming(kCAMediaTimingFunctionEaseIn)]; 
[keytimes addObject:[NSNumber numberWithFloat:0.0]]; 

을 내가 가져하고 다음

#import <QuartzCore/CAAnimation.h> 
#import <QuartzCore/CAMediaTimingFunction.h> 

내가 가정 오류가 나는 ARC를 사용하고 있다는 사실로 인해, 다음과 같이 말한다 :

implicit conversion of 'int' to 'id' is disallowed with ARC. 

관련 파일에서 ARC를 비활성화하려고했으나 오류가 지속됩니다. 경고에 대한

, 그것은 말한다 :

implicit declaration of function 'GetTiming' is invalid in C99 

중 하나가 내가이 문제를 해결할 수있는 방법에 대한 아이디어가? 감사합니다.

답변

2

먼저 GetTiming 기능이 있는지 확인하십시오 (오른쪽 헤더 포함). 이제 GetTimingint을 반환하면 배열에 프리미티브 값을 추가 할 수 없다는 문제가 있습니다. NSNumber에 반환 된 값을 래핑해야합니다.

[timings addObject: 
    [NSNumber numberWithInt:GetTiming(kCAMediaTimingFunctionEaseIn)]]; 

편집 :

당신은 JackController.m에 선언 된 기능을 누락되었습니다.

CAMediaTimingFunction* GetTiming(NSString* name) { 
    return [CAMediaTimingFunction functionWithName:name]; 
} 

간략한 설명을 위해,이 기능을 사용하지 말고 바로 직접 설정하십시오.

[timings addObject: 
    [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 
+0

경고가 계속 발생하지만 빌드를 시도하면 메시지와 함께 실패합니다. 아키텍처 i386에 대한 정의되지 않은 기호 : "_GetTiming". 어쨌든 고마워! –

+0

C 함수처럼'GetTiming'을 호출하기 때문에 무엇을하려고하는지 설명해야합니다. 그리고 그것의 이름으로 당신이 쓴 함수처럼 보입니다. 나는'CAMediaTimingFunction'에 대한 문서를 살펴 봤는데 Objective-C 클래스이며'GetTiming'이라는 함수가 없습니다. Animation Pacing 섹션의 예제는 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Animation_Types_Timing/Articles/Timing.html#//apple_ref/doc/uid/TP40006670-SW1입니다. – Joe

+0

이 답변에서 Felz가 제안한 것과 비슷한 방식으로 애니메이션 바운스 효과를 만들려고합니다. http://stackoverflow.com/a/5161588/734702 –