2009-09-11 7 views
0
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *myPlistPath = [documentsDirectory stringByAppendingPathComponent:@"Accounts.plist"]; 

NSArray *arr = [NSArray arrayWithContentsOfFile:myPlistPath]; 

int count = 0; 
for (NSDictionary *dict in arr) { 
     count += dict.count; 
} 

return count; 

내가 뭘 잘못하고 있니?코드에서 내가 뭘 잘못하고 있니?

위의 코드에서 다음 오류가 발생합니다. 프로그램 수신 신호 : "EXC_BAD_ACCESS".

+0

언제 신호를 받습니까? 어느 선에서? 디버거에서 코드를 밟았습니까? 나는'경로'가 비어 있다고 생각합니다. – Justicle

답변

3

EXC_BAD_ACCESS은 일반적으로 잘못된 주소로 인한 메모리 오류입니다. 그 중 하나가 NULL로 설정되어있는 경우를 설정 한 직후 paths, documentsDirectory, myPListPatharr (주소가 아닌 내용을), 밖으로 인쇄하여

시작을 볼 수 있습니다.

0

myPListPath를 인쇄하고 참조하고있는 파일이 실제로 존재하며 올바른 형식인지 확인하십시오.

NSArray *arr = [NSArray arrayWithContentsOfFile:myPlistPath]; 

뭔가 잘못되어 가고 있으며, arr가 null로 설정지고 : 당신이 저를 요구하는 경우에, 기회는이 라인에 점이다.

관련 문제