2013-12-08 218 views
0

我試圖將視頻保存到核心數據,但它不起作用。當我添加一個斷點時,它停在NSData *videoData = [NSData dataWithContentsOfUrl:self.videoURL];我應該怎麼做才能解決這個問題。將視頻保存到核心數據

這裏是我使用保存視頻代碼:

- (void) saveVideo { 

    NSManagedObjectContext *context = [self managedObjectContext]; 

    TimeTravelFeed *timeTravelFeed = [NSEntityDescription insertNewObjectForEntityForName:@"TimeTravelFeed" inManagedObjectContext:context]; 

    NSData *videoData = [NSData dataWithContentsOfUrl:self.videoURL]; 

    [timeTravelFeed setValue:videoData forKey:@"videoData"]; 

    NSError *error = nil; 

    if (![self.managedObjectContext save:&error]) { 
     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); 
    } 

} 

以下是錯誤:

+[NSData dataWithContentsOfUrl:]: unrecognized selector sent to class 0x3b2947f4 
2013-12-08 12:31:57.078 App Name[203:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSData dataWithContentsOfUrl:]: unrecognized selector sent to class 0x3b2947f4' 
+3

您可能不想將整個視頻文件編碼到核心數據中。您應該只能將文件url保存到它。 –

+0

我只是想知道爲什麼'[NSData dataWithContentsOfUrl:...]'完全編譯。 –

+0

絕對不要將它保存到核心數據。超過100KB的數據不應存儲在覈心數據中。 – runmad

回答

2

你的錯誤是由於這樣的事實,dataWithContentsOfUrl:不是的方法NSData,dataWithContentsOfURL :(大寫R和L)是。

更重要的是,雖然不應該將整個視頻保存到核心數據中,您應該將視頻文件保存到磁盤並將文件URL存儲到核心數據中。