使用委托方法设置UIImage
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用委托方法设置UIImage相关的知识,希望对你有一定的参考价值。
我为两个不同的班级做了两个代表。一个是UITableViewCell
类,即CameraTapDelegate
。
protocol CameraTapDelegate {
func showCameraOptions()
}
当用户在Cell中点击UIImageView
时,会打开相机或图库。当用户选择图像时,执行func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
。为了将这个图像提供给单元格我已经制作了另一个协议,但这一次是在ViewController
类:
protocol UserImageDelegate {
func selectedImage(image: UIImage)
}
我在didFinishPickingMediaWithInfo
类中调用ViewController
将所选图像传递给UITableViewCell
。所以我的问题是在UITableViewCell
类中我添加了selectedImage
方法,但它没有被执行。
您必须记住为UserImageDelegate
类型的委托分配值。
UserImageDelegate
由UITableViewCell
实施。知道图像被选中的对象是ViewController
。因此ViewController
应该定义属性:
weak var userImageDelegate: UserImageDelegate?
在didFinishPickingMediaWithInfo
,我希望看到:
userImageDelegate?.selectedImage(image: image)
现在唯一剩下的就是确保userImageDelegate
引用实现它的cell
,所以我想在cellForRow
我希望看到类似的东西:
self.userImageDelegate = cell
以上是关于使用委托方法设置UIImage的主要内容,如果未能解决你的问题,请参考以下文章
选择单元格时,TableVIew 中的 UIImage 会移动
对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段