使用委托方法设置UIImage

时间:2018-01-03 18:09:22

标签: ios uitableview delegates uiimage

我为两个不同的班级做了两个代表。一个是UITableViewCell类,CameraTapDelegate

protocol CameraTapDelegate {
    func showCameraOptions()
}

当用户点击单元格中的UIImageView时,会打开相机或图库。当用户选择图像func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {时执行。为了将此图像提供给单元格我已经制作了另一个协议,但这一次是ViewController类:

protocol UserImageDelegate {
    func selectedImage(image: UIImage)
}

我在didFinishPickingMediaWithInfo课程中ViewController拨打了该电话,将所选图片传递给UITableViewCell。所以我的问题是,在UITableViewCell课程中我添加了selectedImage方法,但它没有被执行。

1 个答案:

答案 0 :(得分:1)

您必须记住为UserImageDelegate类型的委托指定一个值。

UserImageDelegateUITableViewCell实施。知道选择了图像的对象是ViewController。因此ViewController应该定义属性:

weak var userImageDelegate: UserImageDelegate?

didFinishPickingMediaWithInfo我希望看到:

userImageDelegate?.selectedImage(image: image)

现在唯一剩下的就是确保userImageDelegate引用实现它的cell,所以我想cellForRow我希望看到一些东西喜欢:

self.userImageDelegate = cell