【问题标题】:UIImagePickerController crashing after deleting a photo删除照片后 UIImagePickerController 崩溃
【发布时间】:2012-04-13 16:21:29
【问题描述】:

似乎找不到其他人遇到这个问题,所以就这样吧。我像这样创建我的 UIImagepickerview

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
[picker setContentSizeForViewInPopover:CGSizeMake(250.0f, 450.0f)];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[EditChoicePopoverController setContentViewController:picker animated:YES];

[picker release];

我第一次创建它时效果很好。我可以抓取图像并用它们做我喜欢的事情。当我退出我的应用程序,从应用程序外部加载我的照片库并删除图像时,问题就出现了。然后,当我从头开始打开我的应用并尝试再次打开 UIImagepickerview 时,它会因错误而崩溃。

由于未捕获的异常 'NSRangeException' 导致应用程序终止,原因:' -[NSOrderedSet initWithOrderedSet:range:copyItems:]: range {3, 2} 超出范围 [0 .. 3]'

现在我假设这与给定的表格/预期值/实际值有关,但我不知道该怎么做。有人知道吗?

【问题讨论】:

  • 应用程序进入后台时所处的状态是否重要?我假设删除图像会缩短您的应用程序尝试访问的某些数组。
  • 如何关闭 viewDidDisappear 上的弹出窗口?
  • 我没有在 viewDidDisappear 中做任何事情,我认为 imagepicker 会照顾好它自己。我必须调用一些重新加载数组的函数吗?

标签: objective-c ios xcode uiimagepickercontroller


【解决方案1】:

尝试实现您的应用程序委托的applicationDidEnterBackground: 方法并释放每个保留对这些图片的引用的对象。
即使您退出应用程序,一些引用也可能保持活动状态以加快恢复应用程序时加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    相关资源
    最近更新 更多