我在iOS应用程序中使用Dropbox的Sync API。我的应用程序的一个非常简化的功能是我希望用户能够从DBFilesystem中选择.txt文件并导入这些.txt。文件到UITextView。
首选,我想构建一个DBFile对象的NSArray并使用它们。但是,为了让我填充NSArray,我必须致电[self.filesystem openFile:file error:nill]
,其中"打开"所有的DBFiles。我注意到打开的DBFiles有一些限制 - 例如,我无法打开文件两次,否则我会收到错误。
一次打开多个DBFile还有其他缺点,还是我可以安全地执行它并确保不打开文件两次?我希望对待他们有点像NSFileHandles
如果有缺点,我想我可以创建一个DBA的NSArray,但根据我的应用程序的结构,这不是优选的。如有必要,我可以详细说明这一点。
编辑:一个选项是close
文件(从here向下滚动)。但是,文件不能打开"本身,这意味着我将不得不再次使用DBFileSystem,在这种情况下,我不妨创建一个DBPath数组。
答案 0 :(得分:1)
您可能不希望一次打开所有文件。首先,当您open
DBFile
时,SDK会自动开始下载内容(如果尚未缓存),然后是任何新版本。特别是如果有许多文件和/或用户处于缓慢或有限的数据连接,则可能存在电池和数据使用问题。
此外,SDK只会一次主动下载这么多文件,并将其余文件排队,所以如果你打开所有内容,用户在那个特定时间实际想要的那个文件可能会排在他们没有的其他文件后面。明确要求。
所以,它当然取决于应用程序,但总的来说,您不想一次打开所有文件。相反,您可以使用文件元数据来构建用户界面,例如,调用listFolder
以获取DBFileInfo
的列表,然后根据需要打开文件。