微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

子类的函数不会被调用 - SwiftUI

如何解决子类的函数不会被调用 - SwiftUI

我目前正在使用 SwiftUI,需要实现一个 UIViewController 类。从这个特定的类 (ViewController),我希望 Subclass 继承自它。 我现在的问题是,当我在超类中调用函数 setupAVCapture() 时,我认为在我调用 super.setupAVCapture() 时会先调用我子类中的 override 方法,然后调用超类中的 Method。 我错过了什么吗?

我首先做的是实现一个符合 UIViewControllerRepresentable 的结构,如下所示:

struct AVCaptureView: UIViewControllerRepresentable{
    func makeUIViewController(context: Context) -> CameraviewController {
        let cameraVC = CameraviewController()
        return cameraVC
    }
    func updateUIViewController(_ uiViewController: CameraviewController,context: Context) { }
}

这个类在我的 ContentView 主体中被调用

那么实际的超类实现如下:

class ViewController: UIViewController,AVCaptureVideoDataOutputSampleBufferDelegate {
...
  override func viewDidLoad() {
        super.viewDidLoad()
        setupAVCapture()
  }
  func setupAVCapture {
    ...
  }
...
}

那么对应的子类是这样的:

class Subclass: ViewController {
   override func setupAVCapture() {
        super.setupAVCapture()
        ...
   }
}

这个方法 override func setupAVCapture 应该在 viewDidLoad 方法中从它的超类中调用。但它的作用是调用超类 func setupAVCapture()

中的方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。