Swift-从另一个类调用IBOutlets变量

我是OOP的新手,而且很快,在另一个类中调用IBOutlets时遇到问题。

我为UIImageView声明了var IBOutlet

`class ViewController: UIViewController {

 @IBOutlet weak var deleteImageView: UIImageView!
...  
 }

` 我想在一个将圆绘制为视图的子视图的CircleView类中使用它 我的目标是知道何时创建的圆与我的“ deleteImageView”相交时将其删除:

    class CircleView: UIView {
    @objc func didPan(panGR: UIPanGestureRecognizer) {
        ...
        switch panGR.state {
        case .began, .changed:
        ...

            case .ended:
            if self.frame.intersects(deleteImageView.frame) {
                self.removeFromSuperview()
            }
            break
        default:
            break
        }
    }
 }

在“ case .ended”中,我想访问deleteImageView,但我不知道如何。 我还尝试在vc中创建一个函数,该函数接受UIView(圆圈)作为参数,并从CircleView中调用它,但出现错误...这是我尝试的下一件事情:

class ViewController: UIViewController {

     @IBOutlet weak var deleteImageView: UIImageView!
    ...
     func deleteSubView(subView: UIView){
        if subView.frame.intersects(deleteImageView.frame) {
        subView.removeFromSuperview()
     }
}

在开关部分的CircleView中:

case .ended:
      ViewController.deleteSubView(subView: self)

错误:“类型'ViewController'没有成员'deleteSubView'” 你能帮我吗?

评论