我刚刚开始使用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.
我没有得到我做错的事。 因为我不是很好,所以任何人都可以指导我。 我被困在这一点上。
提前致谢。
答案 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)