2011-04-24 6 views
0

문서 폴더에 파일이 있는지 확인하는 데 문제가 있습니다. NSKeyedArchiver가있는 파일에 데이터를 저장하지 않은 경우에도 내 테스트는 true를 반환합니다. 테스트 :iPhone - 데이터 저장 및 검색

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *documentPath = [documentsDirectory stringByAppendingPathComponent:@"gameData.dat"]; 

if ([fileManager fileExistsAtPath:documentPath]) { 
    //if the file exists retrieve the data. 
    //this is always called, even if there is no file at the documentPath. 
}else{ 
    //set the defaults and save data. 
} 
+0

한 번 명확한 documentPath 시뮬레이터에서 .. – ajay

답변

0

이미 파일이 없습니까? 시뮬레이터의 빈 앱에서 스 니펫을 실행할 때 파일이 없다는 것을 알 수 있습니다. 비어있는 gameData.dat 파일을 내 Mac의 dir에 넣고 시뮬레이터에서 실행하면 이제 파일이 발견됩니다 (시뮬레이터에서 실행되지만 거기에 브레이크 포인트가 있으면 전체 경로를보고 쉘에서 해당 디렉토리로 이동합니다). 시도 해봐).

+0

감사합니다. 다른 클래스 객체를 초기화 할 때 실제로 데이터를 저장한다는 것을 알았습니다. 그래서 빈 파일을 저장 한 다음 테스트했습니다. 나는 그것을 고쳤고 이제는 효과가있다. – deludeddevelop

0

이 파일이 앱의 미리보기 반복에 있었습니까? 이 파일이있는 이전 시점에 휴대 전화에 응용 프로그램을로드 한 경우 새 버전을로드하기 전에 응용 프로그램을 삭제하지 않으면 이전 파일을 계속 찾습니다.

+0

답변 해 주셔서 감사합니다. 새 버전을 실행하기 전에 앱을 삭제 했으므로 파일을 삭제했습니다. 실제로 파일을 검사하기 전에 다른 클래스 객체에 데이터를 저장했기 때문에 실제로 반환되었는지 확인했습니다. 나는 그것을 고쳤고 이제는 효과가있다. 도와 줘서 고마워. – deludeddevelop

관련 문제