我正在存储大小超过1 GB的视频文件并存储到homeDirectory中。 我正在尝试转换为NSData对象,如下所示
NSData * videoData = [[NSData alloc] initWithContentsOfFile:filePath];
但是我在这里得到的视频数据为零。 当我尝试500 MB的视频时,它工作正常。
转换为NSData时,大小是否有任何限制?
答案 0 :(得分:8)
尝试使用此功能(需要iOS 5.0或更高版本):
NSError *error = nil;
NSData *data = [[NSData alloc] initWithContentsOfFile:filePath
options:NSDataReadingMappedIfSafe
error:&error];
在iOS 5.0之前,您可以使用:
NSData *data = [[NSData alloc] initWithContentsOfMappedFile:filePath];
如果文件安全,它们会将文件映射到虚拟内存中,这将显着减少整体使用的内存量。