使用委托方法设置UIImage

问题描述 投票:0回答:1

我为两个不同的班级做了两个代表。一个是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方法,但它没有被执行。

ios uitableview delegates uiimage
1个回答
1
投票

您必须记住为UserImageDelegate类型的委托分配值。

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

weak var userImageDelegate: UserImageDelegate?

didFinishPickingMediaWithInfo,我希望看到:

userImageDelegate?.selectedImage(image: image)

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

self.userImageDelegate = cell
© www.soinside.com 2019 - 2024. All rights reserved.