From ca92da906ac51cf2fff4aa3049b84f980c869e52 Mon Sep 17 00:00:00 2001 From: nixzhu Date: Wed, 21 Oct 2015 16:25:31 +0800 Subject: [PATCH] fix pick photos logic after pick & delete --- .../NewFeed/NewFeedViewController.swift | 11 +++++------ .../PickPhotos/PickPhotosViewController.swift | 8 +++++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Yep/ViewControllers/NewFeed/NewFeedViewController.swift b/Yep/ViewControllers/NewFeed/NewFeedViewController.swift index f4efc5ea..225d96b8 100644 --- a/Yep/ViewControllers/NewFeed/NewFeedViewController.swift +++ b/Yep/ViewControllers/NewFeed/NewFeedViewController.swift @@ -21,7 +21,7 @@ class NewFeedViewController: UIViewController { @IBOutlet weak var messageTextView: UITextView! @IBOutlet weak var mediaCollectionView: UICollectionView! - var imageAssetSet: Set? + var imageAssets: [PHAsset] = [] var mediaImages = [UIImage]() { didSet { @@ -95,13 +95,11 @@ class NewFeedViewController: UIViewController { let vc = segue.destinationViewController as! PickPhotosViewController - if let imageAssetSet = imageAssetSet { - vc.pickedImageSet = imageAssetSet - } + vc.pickedImageSet = Set(imageAssets) - vc.completion = { [weak self] images, imageAssetSet in + vc.completion = { [weak self] images, imageAssets in self?.mediaImages = images - self?.imageAssetSet = imageAssetSet + self?.imageAssets = imageAssets } } } @@ -256,6 +254,7 @@ extension NewFeedViewController: UICollectionViewDataSource, UICollectionViewDel case 1: mediaImages.removeAtIndex(indexPath.item) + imageAssets.removeAtIndex(indexPath.item) collectionView.deleteItemsAtIndexPaths([indexPath]) default: diff --git a/Yep/ViewControllers/PickPhotos/PickPhotosViewController.swift b/Yep/ViewControllers/PickPhotos/PickPhotosViewController.swift index ab6d81f1..f390cdf2 100644 --- a/Yep/ViewControllers/PickPhotos/PickPhotosViewController.swift +++ b/Yep/ViewControllers/PickPhotos/PickPhotosViewController.swift @@ -17,7 +17,7 @@ class PickPhotosViewController: UICollectionViewController, PHPhotoLibraryChange var imageCacheController: ImageCacheController! var pickedImageSet = Set() - var completion: ((images: [UIImage], imageAssetSet: Set) -> Void)? + var completion: ((images: [UIImage], imageAssets: [PHAsset]) -> Void)? let photoCellID = "PhotoCell" @@ -64,7 +64,9 @@ class PickPhotosViewController: UICollectionViewController, PHPhotoLibraryChange let options = PHImageRequestOptions() options.synchronous = true - for imageAsset in pickedImageSet { + let pickedImageAssets = Array(pickedImageSet) + + for imageAsset in pickedImageAssets { let maxSize: CGFloat = 512 @@ -97,7 +99,7 @@ class PickPhotosViewController: UICollectionViewController, PHPhotoLibraryChange } } - completion?(images: images, imageAssetSet: pickedImageSet) + completion?(images: images, imageAssets: pickedImageAssets) navigationController?.popViewControllerAnimated(true) }