2010-07-21 6 views
-1

내가, int로하는 NSInteger을 비교하는 미친 문제가 int로 비교했을 때 : 미친 문제 NSInteger 다음과 같이

NSInteger count = [dictionary count]; 

if (count == 0) { 
    // Do something 
} 
else { 
    // Do something 
} 

카운트가 제로, 실행되는 경우 절에 냈다 코드,하지만 때입니다

카운트 번호가 변경되면 if 절의 스 니핑 된 코드가 실행되지 않고 (올바름) else 절의 스 니핑 된 코드가 실행되지 않습니다. 디버깅 할 때 커서는 항상 else 절을 ​​건너 뜁니다.

카운트 수를 int로 변경하거나 NSNumber와 비교하려고했지만 아무 것도 변경되지 않았습니다.

누구든지이 문제를 해결하는 방법을 알고 있습니까?

+1

소스 코드를 수정할 때 프로젝트를 올바르게 다시 컴파일 하시겠습니까? 실수로 이전 소스를 실행하면 xcode 디버거가 추가 된 행을 건너 뛸 수 있습니다. NSInteger는 int (또는 int64?) 형식의 별칭 일뿐입니다. print 문을 추가해보십시오. NSLog ("count = % d", count); – Akusete

+0

나는 이미 캐시를 지우고 프로젝트를 다시 빌드하기 위해 command + shift + K 명령을 사용한다.이 코드를 여러 번 디버깅하려고 시도했다. 카운트가 바뀐다. ( –

답변

0

NSInteger 및 int와 관련된 것은 없습니다. 그 밖의 논리는 어떤 일이 있어도 정확하게 그 중 하나가 호출되어야한다는 것입니다. 그래서 아무도 부름을받지 않으면 다른 일이 잘못되었습니다. 당신은 NSLog 둘 다 if와 else 절을 ​​사용할 수 있습니까? if와 else 절의 내용을 보여 주면 더 좋습니다.

+0

내 컴퓨터를 다시 시작한 후이 문제는 사라 졌어요. ( –

+0

재밌 네요. XCode에 뭔가 문제가있을 수 있습니다 :) 다시 실행하려고 했습니까? – vodkhang

+0

X 코드를 다시 시작했지만 컴퓨터를 다시 시작할 때까지는 아무런 변화가 없었습니다. 아마도 제 X-Code를 다시 설치해야합니다. ( –