3
iOS 개발을 처음 사용하고 텍스트 파일 용 보관 용 동기화 기능을 지원하는 앱에서 작업하고 있습니다.iOS - 파일 존재 여부 확인 Dropbox Sync API iOS SDK
Dropbox 사이트에서 자습서를 읽었지만 파일이 있는지 확인할 수 없습니다. 구현 된
: 나는 그 내용을 업데이트 할 경우
NSString *dropboxFileExtension;
switch ([[NSUserDefaults standardUserDefaults] integerForKey:kFileExtension]) {
case txt:
dropboxFileExtension = [NSString stringWithFormat:@"%@.txt", titleString];
break;
case md:
dropboxFileExtension = [NSString stringWithFormat:@"%@.md", titleString];
break;
case markdown:
dropboxFileExtension = [NSString stringWithFormat:@"%@.markdown", titleString];
break;
default:
break;
}
DBPath *newPath = [[DBPath root] childPath:[NSString stringWithFormat:@"%@", dropboxFileExtension]];
DBFile *file = [[DBFilesystem sharedFilesystem] createFile:newPath error:nil];
[file writeString:self.note.contents error:nil];
,이 의지는 파일이 존재라고 오류가 발생합니다.
그렇다면 파일이 있는지 확인하고 파일 덮어 쓰기 또는 파일 업데이트와 같은 적절한 작업을 수행하려면 어떻게해야합니까? 고맙습니다!
EDIT/워킹 솔루션는 : 논리적으로, 난 그냥 파일 정보가 DBFileInfo class를 사용하여 존재하는지 여부를 확인해야한다 (1). (1) true ->writeString:error
앞에 openFile:error
을 호출하면 createFile:error
으로 전화하십시오. @rmaddy가 제안한대로.
그래서 ...
DBPath *newPath = [[DBPath root] childPath:[NSString stringWithFormat:@"%@", dropboxFileExtension]];
DBError *error = nil;
DBFileInfo *info = [[DBFilesystem sharedFilesystem] fileInfoForPath:newPath error:&error];
if (info) {
// file exists
NSLog(@"size %lli byte(s), modified dated %@", info.size, info.modifiedTime);
_file = [[DBFilesystem sharedFilesystem] openFile:newPath
error:nil];
} else {
_file = [[DBFilesystem sharedFilesystem] createFile:newPath
error:nil];
}
[_file writeString:self.note.contents error:nil];
을 나는 작동있어! 그래서 파일이 존재한다면 (우리가 제안한대로 정보를 읽음으로써 검사합니다),'writeString : error' 전에'openFile : error'''DBFile'을 써야합니다. 이제 제대로 동기화/업데이트! 나는 내 질문을 해결책으로 업데이트 할 것이다. 고마워, @ 머디! –