fileExistsAtPath : 존재하는 파일에 대해 NO 반환
내 코드 fileExistsAtPath :의 시점에서 내가 존재한다고 확인한 파일에 대해 NO를 반환합니다. 나는 이것에 내 머리를 긁적이며 왜 작동하지 않는지 알 수 없으므로이 디렉토리가 절대적으로 존재하지만 어쨌든 생성되지 않으면이 코드로 변경했습니다.
NSError* err = nil;
NSURL *dir = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create: YES
error:&err];
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:[dir absoluteString]];
이 코드를 실행하면 응용 프로그램 디렉토리 폴더가 존재하고 오류는 0이지만 존재는 NO입니다.
어떻게 이럴 수있어?
TIA
당신은 사용해야 [dir path]
하지 [dir absoluteString]
.
나는 몇 시간 동안 벽에 머리를 부딪혔다. xcode에서 실행될 때마다 앱 디렉토리 경로가 변경되었습니다. 그것의 UUID 부분. 따라서 전체 경로를 저장하는 대신 경로 접미사를 유지하고 임시, 캐시 또는 문서와 같은 어떤 스토리지 클래스를 의미하든 접두사를 붙였습니다.
경로와 URL에는 차이가 있습니다. 유닉스 표현의 경로는 특정 파일이나 디렉토리가 존재하는 위치입니다. 처럼"/Users/username/Desktop/myfile.txt"
URL에는 위치뿐만 아니라 스키마도 포함됩니다 (예 : http : // 또는 https : // 및 우리의 경우 파일 URL) (file:///Users/username/Desktop/myfile.txt)
URL이 아닌 매개 변수의 경로 와 같 fileExistsAtPath
거나 removeItemAtPath
필요한 메소드 .
같은 방법 copyItemAtURL:toURL:error:(NSError * _Nullable *)error
은 URL을 기대합니다.
개체의 path
속성을 사용 NSURL
하여 경로를 검색합니다. absoluteString
계획과 함께 경로를 제공합니다.
참고 URL : https://stackoverflow.com/questions/9303875/fileexistsatpath-returning-no-for-files-that-exist
'code' 카테고리의 다른 글
구조체 초기화로 구성된 벡터 (0) | 2020.11.20 |
---|---|
SQL 날짜 선택 (0) | 2020.11.20 |
Ruby on Rails 콘솔에서 내 명령 기록을 기억하도록 할 수 있습니까? (0) | 2020.11.20 |
MySql Workbench의 테이블 데이터를 CSV로 내보내는 방법은 무엇입니까? (0) | 2020.11.20 |
JSHint에서 camelcase 변수 무시 (0) | 2020.11.20 |