2011-05-06 5 views
0

한 이미지가 다른 이미지에 닿을 때마다 counter++으로 만드는 카운터가 있습니다. if counter=2; do something,하지만 난 항상 오류 :카운터가 x 일 때 작업 수행

지금 제가하고 싶은 것은

-(void)checkcollision { 
    if(CGRectIntersectsRect(flakeImage.frame, viewToRotate.frame)) { 
     counter++; 
    } 
} 

-(void)checknumber { 
    if(counter=2) { 
     viewToRotate.alpha=0; 
    } 
} 
+0

이 경우 카운터도 잘못 선언됩니다. 포인터가 아닌 int로 지정하십시오. –

+0

어디서 int 카운터를 넣어야합니까? 제발? –

답변

5

당신은 아마도이 일 위치 : : 여기

Assignment makes pointer from integer without a cast

이 코드의 일부이다

if (counter = 2) { 
    // Do something. 
} 

이것은 if 문에 일반적인 오류입니다. 보정은 다음과 같습니다

if (counter == 2) { // Note the "==", instead of "=" 
    // Do something. 
} 

이 비록 단지 추측입니다 - 나는 또는 당신이 원하는 일에 대해, 오류에 대한 좀 더 많은 정보를 볼 필요가있다.

편집

아 - 내가 위에서 언급 한 것을 확인, 새로 게시 된 코드를 보았다. 코드에서 if 문에 '2'값을 counter에 할당하려고합니다. ==에서이 값이 같은지 확인해야합니다.

+3

이 남자 크리스탈 공이 불에 있습니다! 좋은 질문에 대한 좋은 대답. –

+0

네, 그렇지만이 xcode는 같은 줄을 말합니다 : 포인터와 정수의 비교 –

+0

이것이 조건문을 거꾸로 쓰는 이유입니다. if (2 == counter); 컴파일러는 등호 중 하나를 생략하면 실수를 포착합니다. –

관련 문제