2009-08-24 3 views
2

아마도 멍청한 질문이지만 버튼을 클릭 한 횟수만큼 라벨을 증가시키는 간단한 iPhone 앱을 작성하려고합니다. 나는 다음과 같은 코드가 있습니다 :내 버튼 클릭 이벤트가 4 번 호출되는 이유는 무엇입니까?

#import "Controller.h" 

int *i = 0; 
@implementation Controller 
- (IBAction)buttonClicked:(id)sender {  
    NSString *numTimesClicked = [NSString stringWithFormat:@"%d",i++ ];  
    myLabel.text = numTimesClicked;  
} 
@end 

내가 (등 4,8,12,16) 버튼, 4의 배수로 레이블 업데이트를 클릭합니다. 여기서 내가 뭘 잘못하고 있니? i의 정의에서

답변

10

봐 :

int *i = 0; 

i는 정수가 아닙니다 - 그것은 정수로 포인터입니다. int의 크기는 아키텍처에서 4 바이트이므로 포인터는 4 씩 증가합니다 (int 배열에서 다음 int의 주소 임). 그냥 int i = 0으로 선언하고 싶습니다.

+0

+1 그리고 답변 됨으로 표시. 도움을 주셔서 감사합니다 ... 나는 C#의 배경에서오고있어, 나는 언제나 뭔가를 레이블로 붙일 때와하지 말아야 할 때 주위를 돌아 다니고있다. –

관련 문제