2011-12-12 3 views
1

Xcode를 처음 사용하기 때문에 작동하지 않는 것처럼 보입니다. 코드를 만들 때 오류가 없지만 아래 코드에 연결된 단추를 누르면 전체 앱 충돌Objective-C에서 응용 프로그램이 작동하지 않습니다.

step은 현재 int입니다.

이 줄로 인해 Xcode가 작동하지 않습니까? 단계 INT이기 때문에

-(IBAction)PressOne{ 
    if (*step == 1 || *step == 2){ 
     if ([txtAns.text isEqualToString:@"0"]) 
      txtAns.text = @"1"; 
     else if (![txtAns.text isEqualToString:@"0"]) 
      txtAns.text = [@"1" stringByAppendingString:txtAns.text]; 
    } 
    else { 
     txtAns.text = @"1"; 
     *step = 1; 
    } 
} 
+2

어떻게 선언하는 단계를? 만약 당신이 int step; ... 당신은 * step을 제거하고 step으로 대체하여 코드를 수정할 수 있습니다. –

답변

1

, 당신은 단계를 사용하여 값을 참조해야하지 * 단계 : if (*step == 1 || *step == 2){

여기 내 코드입니다.

+0

그것은 작동한다. :) 그리고 여기 나는 밤새도록 생각하고있다. 감사 :) – Malcolm

1

단계를 사용하기 전에 *를 제거하십시오. 정수는 objective-c 객체가 아닙니다.

변수를 사용할 때가 아니라면 변수를 선언 할 때만 포인터 표기법 (*)을 사용해야합니다.

결과 코드 블록은 다음과 같습니다

-(IBAction)PressOne{ 
    if (step == 1 || step == 2){ 
     if ([txtAns.text isEqualToString:@"0"]) 
      txtAns.text = @"1"; 
     else if (![txtAns.text isEqualToString:@"0"]) 
      txtAns.text = [@"1" stringByAppendingString:txtAns.text]; 
    } 
    else { 
     txtAns.text = @"1"; 
     step = 1; 
    } 
} 
관련 문제