2013-09-21 67 views
2

我正在存儲大小超過1 GB的視頻文件並存儲到homeDirectory中。 我想要轉換成NSData對象如下將大數據轉換爲NSData

NSData * videoData = [[NSData alloc] initWithContentsOfFile:filePath];

但我在這裏得到的視頻數據爲零。 當我嘗試500 MB的視頻時,它工作正常。

轉換成NSData時大小是否有限制?

回答

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]; 

這些將文件映射到虛擬內存,如果它是安全的,這將顯着減少整體使用的內存量。

+0

非常感謝。現在它工作正常。 :) – Sujit

+0

@dreamlax你可以複製這個與斯威夫特? – user2363025