iOS-检查文件是否存在Dropbox Sync API iOS SDK

iOS-检查文件是否存在Dropbox Sync API iOS SDK,ios,iphone,objective-c,sync,dropbox-api,Ios,Iphone,Objective C,Sync,Dropbox Api,我是iOS开发新手,正在开发一款支持文本文件Dropbox同步的应用程序 已经在Dropbox网站上学习了教程,但我无法检查文件是否存在 实施时: NSString *dropboxFileExtension; switch ([[NSUserDefaults standardUserDefaults] integerForKey:kFileExtension]) { case txt: dropboxFileExtension = [NSString stringWit

我是iOS开发新手,正在开发一款支持文本文件Dropbox同步的应用程序

已经在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];
如果我更新了它的内容,这将抛出一个文件存在的错误

所以,我如何检查文件是否存在,然后执行适当的操作,如覆盖文件或更新文件。谢谢大家!

编辑/工作解决方案:逻辑上,我只需使用(1)检查文件信息是否存在。如果(1)true->我们在
writeString:error
之前调用
openFile:error
,否则调用
createFile:error
。正如@rmaddy所建议的那样

所以


尝试获取路径的
DBFileInfo

DBError *error = nil;
DBFileInfo *info = [[DBFileSystem sharedFileSystem] fileInfoForPath:newPath error:&error];
if (info) {
    // file exists
}

我让它工作了!所以,如果文件存在(我们按照您的建议通过读取其信息进行检查),我必须在写入之前
打开文件:error
DBFile
。现在它可以正常同步/更新了!我将更新我的问题作为解决方案。非常感谢,@rmaddy!
DBError *error = nil;
DBFileInfo *info = [[DBFileSystem sharedFileSystem] fileInfoForPath:newPath error:&error];
if (info) {
    // file exists
}