【发布时间】:2011-03-14 14:51:19
【问题描述】:
在我正在编写的 iOS 应用程序中,我们有一个“添加照片”按钮,该按钮很常见——当按下时,用户会看到一个操作表来拍摄或选择照片,转到相机或照片库,然后返回给控制器。选择图像后,它会调整大小并设置为被点击的原始按钮的背景。
为了帮助清理,我决定将很多此功能放在一个自定义按钮中,AddPhotoButton。当点击按钮时,AddPhotoButton 本身会处理操作表和图像选择器,而不是控制器。这在某些情况下效果很好,但在其他情况下我遇到了很多内存问题。当相机弹出时,包含按钮的控制器最终释放它,因此当 UIImagePickerController 尝试调用委托方法(AddPhotoButton 是它的委托)时,该对象不再存在,因为没有人拥有它。
那么,我真正要问的是——处理此类事情的最佳方法是什么?我希望将照片按钮功能(显示操作表、图像选择器,然后设置背景图像)全部捆绑在一起,这样很容易重复使用,但我采取的方法似乎不正确。但是,也许我做得正确,但应该以不同的方式保留按钮。
有什么想法吗?
【问题讨论】:
标签: iphone objective-c ios