2015-11-30 5 views
0

Я пытаюсь интегрировать DKImagePicker в свое приложение, потому что оно просто выглядит лучше. Когда пользователь выбирает альбом, я хочу, чтобы приложение сохраняло изображения, которые пользователь выбрал, в новой папке, которую я создал. Вот как я пытаюсь справиться сохранения:Как добавить массив изображений в альбом с использованием фреймворка фотографий в IOS?

... 

@IBAction func openAlbum(sender: AnyObject) { 

    // pickerController is DKImagePickerController 

    pickerController.didSelectAssets = { [unowned self] (asset: [DKAsset]) in 
    print("didSelectAssets") 
    self.transferSelectedAssetsToAlbum(asset) 
    } 
    self.presentViewController(pickerController, animated: true, completion: nil) 
} 

func transferSelectedAssetsToAlbum(assets: [DKAsset]) { 
    PHPhotoLibrary.sharedPhotoLibrary().performChanges({ 

    // Here I want to save all items in assets in the album 
    for asset in assets { 
    let createAssetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(asset.fullScreenImage!) 
    let assetPlaceholder = createAssetRequest.placeholderForCreatedAsset 
    let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.assetCollection) 
    albumChangeRequest?.addAssets([assetPlaceholder]) 
    } 

    }, completionHandler: { 
    success, error in 
    print(success) 
    print(error) 
    }) 
} 

... 

При выполнении этого Xcode, он жалуется говоря 'NSFastEnumeration' cannot be used with array litteral. Я понимаю, что это из-за albumChangeRequest?.addAssets([assetPlaholder]) не должно быть ниже for .. in. Но я хочу сохранить все изображения в активах? Как я могу заставить его работать без цикла for?

Надеюсь, я сделал это достаточно ясно. Если нет, сообщите мне, чтобы я мог уточнить свой вопрос.

ответ

0

По-видимому, ошибка вводит в заблуждение. Все, чего не хватало, чтобы сделать эту работу, - ! для assetPlaceholder. Так что все, что я сделал, это замена albumChangeRequest?.addAssets([assetPlaceholder]) на albumChangeRequest?.addAssets([assetPlaceholder!])

 Смежные вопросы

  • Нет связанных вопросов^_^