我有一個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
嗯......我是斯威夫特新手,不確定你的意思...你能否澄清馬特?謝謝。 –