我正在做一个iphone应用程序,因为我必须存储大量的MP3歌曲和图像。
可以告诉我在性能方面存储的最佳方式是什么。
答案 0 :(得分:5)
将图像和歌曲存储在应用程序目录中。这是处理的最佳和最简单的方法。请尝试以下代码。它会对你有帮助。
//Store Image/Songs files to Application Directory
+(BOOL)writeToFile:(NSData *)data fileName:(NSString *)fileName {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// the path to write file
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
return [data writeToFile:appFile atomically:YES];
}
//Image/songs - Retrieve from Application Directory
+(NSData *)readFromFile:(NSString *)fileName {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileName];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
if (myData) {
return myData;
}
return nil;
}
答案 1 :(得分:0)
将MP3歌曲和图像存储到app项目的resources文件夹中,并在sqlite数据库中提供引用(因为在sqlite数据库中保存大文件不是一个好习惯)
答案 2 :(得分:0)
我建议您将所有大尺寸项目存储在设备磁盘上,即Documents目录,并将其物理路径存储在核心数据或sqlite中,或者至少存储在plist文件中,以便您可以根据自己的方便检索它们。