문자열에서 XML 파일을 저장하는 것과 관련하여 문제가 발생했습니다.이 작업은 iPhone에서 수행됩니다. 파일 자체가 존재하며 프로젝트에 포함되어 있습니다 (따라서 작업 공간 내에서) 그리고 내가 따라 오는 코드 스 니펫에서 얻은 모든 표시는 에뮬레이터에서 오류없이 전달되고 iPhone (오류 513)에서 실패하지만 두 경우 모두 파일이 저장되지 않습니다! 파일에Objective-C (iPhone)의 파일에 문자열 저장
{
Hits = config->Hits;
NSString* filenameStr = [m_FileName stringByAppendingFormat: @".xml" ];
NSString* pData = [self getDataString]; // write xml format - checked out ok
NSError *error;
/* option 2 - does not work as well
NSBundle *mainBundle = [NSBundle mainBundle];
NSURL *xmlURL = [NSURL fileURLWithPath:[mainBundle pathForResource: m_FileName ofType: @"xml"]];
if(![pData writeToURL: xmlURL atomically: true encoding:NSUTF8StringEncoding error:&error])
{
NSLog(@"Houston - we have a problem %[email protected]\n",[error localizedFailureReason]);
return false;
}
*/
if(![pData writeToFile: filenameStr atomically: FALSE encoding:NSUTF8StringEncoding error:&error])
{
NSLog(@"Houston - we have a problem %[email protected]\n",[error localizedFailureReason]);
return false;
}
return true;
}
어떤 도움을 주시면 감사하겠습니다, -A
오류 513이 무엇인지 설명 할 수있는 문자열을 제공 할 수 있습니까? 사이드 노트 : localizedFailureReason을 인쇄 할 때 NSLog 문에서 % s 대신 % @을 사용하는 것이 좋습니다. % @ 형식 지정자는 NSString *을 사용하고 % s는 null로 끝나는 char * 문자열을 필요로합니다. – Tyler
기술적으로 % @는 모든 NSObject 유형을 취하고 문자열의 경우 자체 인 [object description]을 호출합니다. 하지만 다른 기본 NSObject 유형 (예 : 배열, 집합 등)에서도 작동합니다. – AlBlue