iOS/SwiftUI
[SwiftUI] Coordinator
HarryJeonn
2022. 5. 2. 19:03
SwiftUI를 사용하면서 Delegate를 사용하기위해 사용!
// Coordinator
func makeCoordinator() -> Coordinator {
return Coordinator()
}
class Coordinator: NSObject, AVCaptureMetadataOutputObjectsDelegate {
func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
if metadataObjects.count == 0 {
return
}
guard let metaObject = metadataObjects[0] as? AVMetadataMachineReadableCodeObject else { return }
if metaObject.type == AVMetadataObject.ObjectType.qr {
if let outputValue = metaObject.stringValue {
print(outputValue)
}
}
}
}
Delegate를 사용해야 할 때 Coordinator 사용
Coordinator 클래스를 만들어주고 makeCoordinator()로 return한다.
Coordinator 클래스안에서 Delegate 상속받아서 UIKit처럼 구현한다.
제가 틀렸거나 다른 의견이 있으시다면 댓글로 남겨주시면 감사하겠습니다 :)