2011-03-15 5 views
0

plist에 사전 작성을 테스트하려고합니다. 다음 코드는 오류를보고하지 않지만 작성한 파일의 추적을 찾을 수 없습니다.plist 작성

NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys: 
@"First letter of the alphabet", @"A", 
@"Second letter of the alphabet", @"B", 
@"Third letter of the alphabet", @"C", 
nil 
]; 

내가 사전 내용이 방법 중 하나를 제대로 표시 볼 수 있습니다 호출 :

NSLog(@"Here is my partial dictionary %@", myDictionary); 

for (NSString *key in myDictionary) 
    NSLog(@"here it is again %@ %@", key, [myDictionary objectForKey:key]); 

다음 코드는 프로그램이 반복적으로

을 실행할 때 메시지가 "성공"표시 여기 는 코드입니다
if ([myDictionary writeToFile: @"myDictionary" atomically:YES ] == NO) 
    NSLog(@"write to file failed"); 
    else 
    NSLog(@"write to file succeeded"); 

임시 파일을 쓰지 않으려면 atomically : 인수를 NO로 변경하는 경우에도 마찬가지입니다. 그러나 현재 디렉토리 나 심지어 전체 Mac을 검색 할 때 "myDictionary.plist"라는 파일이나 "myDictionary"라는 문자열이있는 파일을 찾을 수 없습니다.

"@myDictionary"경로 변수가 현재 디렉토리에서 파일을 나타내지 않습니까? 즉, 클래스 실행 파일이있는 위치는 무엇입니까?

답변

0

코드는 시스템에 파일에 사전을 쓰도록 지시하지만, 어떤 파일에서 파일 위치의 경로는 무엇입니까? Alekkhya의 코드는 응용 프로그램 샌드 박스 (Documents 디렉토리)의 특정 디렉토리를 정의하고 경로를 가져 와서 파일을 씁니다.

this을 읽어 보시기 바랍니다.

+0

게시 한 코드의 경로 또는 디렉토리에 대한 선언이 표시되지 않습니다. – Vin

+0

[myDictionary writeToFile : @ "myDictionary"atomically : YES] "myDictionary"를 쓸 파일로 지정하십시오. 현재 디렉토리? 적어도 그것은 참고서 (Kochan, 436 쪽)에 나와 있습니다. – Namhcir

+0

나는 그렇게 생각하지 않는다. 쓸 디렉터리에 대한 참조를 가져와야합니다. 현재 디렉토리와 같은 것이 없습니다. 앱이 샌드 박스 환경에서 실행되고 있다는 것을 기억하십시오. 내 게시물의 링크에서 apple doc을 읽으십시오. – Vin