2010-12-12 2 views
0

여기 충돌의 원인이되는 코드의 로그 없습니다 : 수정하면엑스 코드 프로그램 충돌, 출력이

NSLog(@"Exercises:"); 
for (Exercise *exercise in self.fetchedResultsController.fetchedObjects) 
    NSLog(@"%@ : %@", exercise.name); 

그것을하지 않습니다 충돌 :

NSLog(@"Exercises:"); 
for (Exercise *exercise in self.fetchedResultsController.fetchedObjects) 
    NSLog(@"%@", exercise.name); 

나는 이유에, 궁금하다 내 응용 프로그램이 충돌 할 때 Xcode가 로그 콘솔에 오류를보고하지 않습니까?

+1

디버그 모드 (Command-Y)에서 실행 중이십니까? – Zeppomedio

+0

Zeppomedio에게 감사합니다. 디버그 모드 (Command-Y)에서 실행하면 다음과 같이 나타납니다. 2010-12-12 14:46:50.598 BB_CD_v2 [387 : 207] 연습 : 프로그램 수신 신호 : "EXC_BAD_ACCESS". 그래서 다 좋아. – Boojeboy

답변

0

EXC_BAD_ACCESS가 표시된다면 일반적으로 거기에없는 메모리에서 무언가에 액세스하려고했음을 의미합니다. 귀하의 경우에는

, 그것은 여기에 2 매개 변수를 기대하는 것 :

NSLog(@"%@ : %@", exercise.name); 

난 당신이 이미 그것을 그러나 수정 된 것을 알 수있다. 잘 하셨어요. 위에서 언급했듯이 Command-Y는 디버거에 대한 액세스 권한을 제공합니다.

2

doco에서 주변을 파고 각 지정자에 대한 값의 인덱스를 지정할 수도 있습니다. 어떤 값 $1 지정 사용하기 때문에 그래서

NSLog(@"%[email protected] : %[email protected]", exercise.name); 

작동합니다. 자세한 내용은 this link을 확인하십시오.