我有一个unwind segue可以回到前一个控制器并将图像保存到PHAsset库。放松节奏的作品,节约作品,唯一的问题是,它在图像保存之前放松。因此,图像不会显示在展开的视图控制器上,因为视图控制器在保存图像之前已呈现(图像保存需要一点时间,但它可以返回到视图控制器非常快)。我想知道是否有任何方法可以放松前一个控制器,只有当照片保存后,不是马上。做一些事情之前放松segue(swift)
这里是我的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "savePicture" {
//Image to be saved
let newImage = self.appraisalPic.image
//Store picture to PHAssets
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0), {
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let createAssetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(newImage)
let assetPlaceholder = createAssetRequest.placeholderForCreatedAsset
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.assetCollection, assets: self.photosAsset)
albumChangeRequest.addAssets([assetPlaceholder])
}, completionHandler: {(success, error)in
dispatch_async(dispatch_get_main_queue(), {
NSLog("Adding Image to Library -> %@", (success ? "Success":"Error!"))
//Need code here which doesn't do segue until AFTER picture is saved
})
})
})
}
}
想想“异步”。 – matt
嗯......我是斯威夫特新手,不确定你的意思...你能否澄清马特?谢谢。 –