Я не могу преобразовать NSURL в NSData. NSURL появляется при распечатке, но затем, когда я пытаюсь преобразовать его в NSData, переменная audioData продолжает возвращать нуль.Преобразование NSURL в NSData из didPickMediaItems
func mediaPicker(mediaPicker: MPMediaPickerController!, didPickMediaItems mediaItemCollection: MPMediaItemCollection!)
{
selectedSong = mediaItemCollection.items[0] as MPMediaItem
songUrl = selectedSong.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL
println("\(songUrl)")
audioData = NSData(contentsOfURL: songUrl) as NSData
println("\(audioData)")
}
Edited Код Поймать Ошибка
songUrl является URL-адрес песни, расположенной на моей библиотеке IPOD
var errorPointer:NSErrorPointer!
audioData = NSData(contentsOfURL: songUrl, options: NSDataReadingOptions.DataReadingMappedAlways, error: errorPointer)
if audioData == nil
{
println("\(errorPointer)")
}
Этот код выводит ошибку: «фатальную ошибка: неожиданно найдено нуль при развертывании необязательного значения « на моей консоли
Edit # 2
Использование формата в формат ошибки в ответ ниже, теперь я получаю ошибку:
Произошла ошибка: Ошибка домена = NSCocoaErrorDomain Code = 256 «Операция не мог» t будет завершено. (Cocoa ошибка 256.)»UserInfo = 0x146f4a90 {NSURL = ставка библиотека: //item/item.m4a ID =273692689505570}
использование [ 'NSData (contentsOfURL: опции: ошибка:)'] (HTTPS: //developer.apple.com/library/ios/documentation/ Cocoa/Reference/Foundation/Classes/NSData_Class/# // apple_ref/occ/instm/NSData/initWithContentsOfURL: options: error :) и дайте нам знать, что такое ошибка. –
Спасибо за ответ ... Я написал код так: аудиоданные = NSData (contentsOfURL: songUrl, опции: NSDataReadingOptions.DataReadingMappedAlways, ошибка: NSErrorPointer()) хотя я не уверен, что инициализируется errorpointer правильно , на моей консоли не было никакой распечатки ошибок. – user3353890
На консоли не должно быть никакого выхода. Вам нужно зарегистрировать ошибку. – rdelmar