2014-10-05 83 views
0

我在Android和iOS中都有一个应用程序,应用程序应该通过单击按钮下载并保存设备上的一些文件。我管理的目录中的Android,我这个指定文件的URL:将文件保存在iOS应用程序目录

Environment.getExternalStorageDirectory().getPath() + "/appDirectory/" + fileName 

我要问什么是目标C和iOS指定此类似。
现在我在Objective-C使用:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask,YES); 
NSString *documentDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [NSString stringWithFormat:@"%@%@", documentDirectory, @"/myfile.mp4"]; 

文件路径将返回这样的事情:

/var/mobile/Applications/CFEDE74F0A493-499B/Library/Documentation/myfile.mp4 


这是正确的方式?
非常感谢

回答

1

大多数情况下,您有正确的想法。苹果建议使用基于NSURL文件系统的方法,以便考虑到这一点,你可以做到以下几点:

​​

如果你需要一个基于NSString的方法中,你应该使用内置的方法追加路径组件代替使用stringWithFormat:

NSString *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; 
NSString *fileURL   = [documentDirectory stringByAppendingPathComponent:@"myfile.mp4"]; 
+0

非常感谢,我用的NSString方法和它的工作完美;),也解决了我的代码中的其他错误之一:) – m0j1 2014-10-05 15:16:58

相关问题