2011-03-27 1 views
0

viewcontroller.m 파일에서Xcode iPhone 응용 프로그램 - NSDate timeIntervalSinceDate 문제 - 알 수없는 원인 - 도와주세요!

-(void) hitButton 
{ 
    current = [NSDate date]; 

    interval = [current timeIntervalSinceDate:last]; 

    rate = 60/(double)interval; 
    last = current; 

    NSString *output = [NSString stringWithFormat:@"%d bpm",rate]; 
    [btnout setTitle:output forState:UIControlStateNormal]; 
} 
- (void)viewDidLoad { 

    last = [[NSDate alloc] init]; 
    current = [[NSDate alloc] init]; 

    [super viewDidLoad]; 
} 

Viewcontroller 헤더 파일에서

안녕하세요, 누군가가 버튼을 누르면 BPM 속도를 표시하는 간단한 응용 프로그램을 만들려고합니다.

어떤 이유로 응용 프로그램이 첫 번째 프레스에서 정상적으로 작동하지만 두 번째 충돌이 발생합니다. 이유에 관해 예외 나 정보가 제공되지 않습니다. hitLogin 메서드가 두 번째 호출되고 프로그램이 @ current = [NSDate date]에 충돌한다는 것을 확인하기 위해 NSLogs를 사용했습니다.

어떤 도움을 주시면 감사하겠습니다. 미안해 내가 무엇이든 놓치면. OO 언어를 처음 사용합니다.

고마워, 존

답변

0

나는 잘 나는 이미 답을 가지고 다른 사람을 발견 .. 그것을 알아 냈다! 현재 날짜를 '유지'해야했습니다. "현재"바르가 실행 루프가 회전 다음에 그래서 오토 릴리즈됩니다 .. 그래서 같이

current = [[NSDate date] retain]; 

이 스레드에서 답변을 ..

NSDate Problem

0

존있어, 문제가, 그것은이다 (처음으로 autoreleased되지 않는 1의 보유 수를 가진 객체를 생성하는 alloc-init'ed 작업). hitButton의 행을 다음과 같이 변경하면 도움이됩니다.

last = [current retain]; 
+0

안녕하세요, 대단히 감사합니다. 그것은 참으로 문제가되었습니다! 건배, 존 – Jon