表达式产生错误:执行被中断,原因:跳过。该过程已返回到表达式评估之前的状态

时间:2016-06-13 11:53:26

标签: xcode swift

我刚刚开始使用swift,

我点击了iPad的前置摄像头并点击了用户的照片,点击了使用照片,

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])

被调用imagePickerController

这是代码行..

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])

    {
        picker .dismissViewControllerAnimated(true, completion: nil)
        photoImgView.image=info[UIImagePickerControllerOriginalImage] as? UIImage
        if imageData == nil {
            imageData = UIImageJPEGRepresentation((info[UIImagePickerControllerOriginalImage] as? UIImage)!, 1)
        }
    }

但是当我提交时,显示找到nil value, 调试后得到func didFinishPickingMediaWithInfo中的这一点 说,

(lldb) po imageData
expression produced error: Execution was interrupted, reason: step over.
The process has been returned to the state before expression evaluation.

我没有得到我做错的事。 因为我不是很好,所以任何人都可以指导我。 我被困在这一点上。

提前致谢。

4 个答案:

答案 0 :(得分:0)

您在开始时调用dissmissViewController(:_)。在函数结束时调用它并尝试。

答案 1 :(得分:0)

我得到了解决方案, 感谢我的同事,

我从imagePickerController捕获图像并保存在Something中。 但图像捕获大约6-7 MB(iPad相机默认捕获此大小的图像) 当将其保存到Base::operator =(other);然后将其转换为base64格式时,它会超出规模,然后编译器会抛出该问题。

只需更改NSData

的行代码即可解决问题
NSData

答案 2 :(得分:0)

我有一个视频解决方案:

使用" PHImageFileSandboxExtensionTokenKey "键

[PHImageManager defaultManager] requestAVAssetForVideo:asset options:avRequest resultHandler:^(AVAsset * _Nullable asset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) {
                NSString *localPath = info[@"PHImageFileSandboxExtensionTokenKey"];
                if (localPath == nil || [localPath isEqualToString:@""]) {
                    isiCloud = YES;
                } else {
                    isiCloud = NO;
                }

答案 3 :(得分:0)

对我来说,我传递了一个从主 NSManagedObjectContext 创建的 NSManagedObject 来委托。委托从后台后台线程读取 NSManagedObject。
enter image description here

为了修复它,我确保委托从主线程读取 NSManagedObject。这可以解决问题。enter image description here