2010-12-22 5 views
2

나는 아주 단순한 게임을 만들려고 노력 중이며 나는 고생하고있다. 기본적으로 UIImageView를 2 초마다 표시하려고합니다. 내 문제는 누적 시간을 추적 할 수 없다는 것입니다. 지금 당장이 있습니다 :목표 C : 끊임없이 함수 호출하기

사용자가 버튼을 탭하면 버튼 기능에 포함됩니다. 그것은 항상 1보다 작은 십진수를 반환합니다. 나는 viewDidLoad 메서드뿐만 아니라 자신의 메서드를 시도했지만 둘 다 작동하지 않았습니다.

나는 그것이 그것의 방법으로 끊임없이 점검되는 자신의 방법이지만, 나는 그것을하는 법을 알지 못한다면 그것이 효과가있을 것이라고 생각한다.

간단히 말해, 매 초마다 업데이트되는 타이머/카운터가 필요합니다.

답변

5
@interface className 
{ 
NSTimer * timer; 
} 

@property (nonatomic, retain) NSTimer * timer; 

@end 


@implementation className 
@synthesize timer; 

... 

/* 여기에서 제조 방법이 수정되었습니다. 복사 및 붙여 넣기에 의해 경고없이 작동합니다 */

-(void) applicationDidFinishLaunching : (UIApplication *) application { 
timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats: YES]; 

} 

//define the target method 

/가 NSTimer 괄호를 필요로했기 때문에 * 방법은 수정되었습니다 * 그 첫 번째 두 경우 http://www.iphonedevsdk.com/forum/iphone-sdk-development/14403-nstimer-examples.html

+0

팩토리 메소드의 이름이 잘못되었습니다. 올바른 팩토리 메소드는 scheduledTimerWithTimeInterval입니다. target : selector : userInfo : repeats : – LeonS

+0

수정했습니다. – VagueExplanation

0

간단히 NSTimer을 사용하여 필요한 2 초 간격으로 클래스 내의 선택기를 호출 할 수 있습니다.

즉, CABasicAnimation을 사용하여 UIImageView의 불투명도를 퇴색시키고 필요한 효과를 계선 할 수 있습니다.

0

여기에서 촬영/

-(void) targetMethod: (NSTimer *) theTimer { 
NSLog(@"Me is here at 1 minute delay"); 
} 
.. 
@end 

선이 서로 직후에 호출되면 항상 1 초 미만이어야합니다. 날짜가 바로 거기에서 인스턴스화되고 있고 timeIntervalSinceNow가 바로 호출됩니다. 시간 간격이 거의 없거나 전혀 없을 때입니다. 목표는 처음 호출 할 때 날짜를 만든 다음 timeIntervalSinceNow를 호출하여 시간이 0보다 커지도록하는 것입니다. 그러나 원하는대로 업데이트 타이머를 만들지는 못합니다.

관련 문제