Ios removeFromSuperview()花费的时间太长

Ios removeFromSuperview()花费的时间太长,ios,iphone,swift,core-data,Ios,Iphone,Swift,Core Data,在使用imagePickerController拾取图像后,我尝试使用核心数据从ViewController.swift保存对象。我在保存时显示带有微调器的视图(DynamicView)。该对象在1或2秒内保存,但从superView中删除DynamicView需要7或8秒 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyO

在使用imagePickerController拾取图像后,我尝试使用核心数据从ViewController.swift保存对象。我在保存时显示带有微调器的视图(DynamicView)。该对象在1或2秒内保存,但从superView中删除DynamicView需要7或8秒

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
    dismissViewControllerAnimated(true, completion: nil)
    picture = info[UIImagePickerControllerOriginalImage] as? UIImage
    view.addSubview(DynamicView)
    var newImageData = UIImageJPEGRepresentation(picture, 1)
    objectToSave?.photo = newImageData
    progressBarDisplayer("test", true)
    dispatch_async(dispatch_get_global_queue(
        Int(QOS_CLASS_USER_INTERACTIVE.value), 0)) {
            self.save()
    }
}

func save() {
    var error : NSError?
    if(!managedObjectContext!.save(&error) ) {
        println(error?.localizedDescription)
    }else{
        println("No error, saved")
        self.DynamicView.removeFromSuperview()


    }
    NSNotificationCenter.defaultCenter().postNotificationName("load", object: nil)
} 
从主线程调用removeFromSuperview(),以确保用户界面已同步:

func save() {
    var error : NSError?
    if(!managedObjectContext!.save(&error) ) {
        println(error?.localizedDescription)
    }else{
        println("No error, saved")
        dispatch_async(dispatch_get_main_queue(),{            
            self.DynamicView.removeFromSuperview()
        }


    }
    NSNotificationCenter.defaultCenter().postNotificationName("load", object: nil)
}