Objective-C에서 버튼을 누를 때마다 카운터를 증가시키는 간단한 코드 블록이 있습니다. 내 로그와 인터페이스 업데이트도 1 대신 증분 4를 표시합니다. 이 문제는 필자의 포맷팅 (% d을 사용하고 있습니다) 또는 누락 된 다른 문제로 인한 것입니까? 내 생각 엔 "% d"이 (가) 있지만 Objective-C를 처음 접했고 확실하지 않습니다. . (참고, 나는 또한 시도 "카운터 + = 1;"같은 결과Objective-C에서 왜이 값이 1 대신 4 씩 증가합니까?
int counterValue = 0;
NSLog(@"Count at init: %d",counterValue);
...
-(IBAction)pushButton {
NSLog(@"Count (Pre-Push) = %d",counterValue);
counterValue++;
NSLog(@"Count (Post-Push) = %d",counterValue);
}
는 출력은 다음과 같다 :
2010-02-20 18:39:39.125 My App[37536:207] Count at init: 0
2010-02-20 18:39:39.845 My App[37536:207] Count (Pre-Push) = 0
2010-02-20 18:39:39.846 My App[37536:207] Count (Post-Push) = 4
2010-02-20 18:39:40.165 My App[37536:207] Count (Pre-Push) = 4
2010-02-20 18:39:40.166 My App[37536:207] Count (Post-Push) = 8
2010-02-20 18:39:40.727 My App[37536:207] Count (Pre-Push) = 8
2010-02-20 18:39:40.728 My App[37536:207] Count (Post-Push) = 12
Nit : '- (IBAction) doWhatever : (id) sender'가되어야합니다.'sender' 인수를 사용하지 않아도됩니다. – Wevah
@Wevah :별로. 하나의 인수 형식이 가장 많이 사용되는 반면, 이러한 모든 방법 서명은 다음과 같은 동작 방법에도 똑같이 적용됩니다 : (1)'- (void) action', (2)'- (void) action : (id) sender', (3)'- (void) action : (id) 보낸 사람 forEvent : (UIEvent *) event'. 출처 : http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIControl_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006779-RH2-SW28 –
아, 네 말이 맞아. . 다른 UIKit/AppKit 차이점입니다. (올바른 modded.;)) 내 .h 파일에 – Wevah