
UIWindow::msg 메시지 전달 관련 오류는 UIWindow 클래스가 메시지 전달을 지원하지 않기 때문입니다.
UIWindow 클래스는 뷰를 관리하는 역할을 하지만 메시지 전달을 위한 메서드는 없습니다.
대신에, NotificationCenter를 사용하여 메시지를 전달할 수 있습니다.
다음은 NotificationCenter를 사용하여 메시지를 전달하는 예제입니다.
#hostingforum.kr
swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 메시지 전달
let msg = "메시지 전달"
NotificationCenter.default.post(name: .messageReceived, object: nil, userInfo: ["msg": msg])
}
}
class SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 메시지 수신
NotificationCenter.default.addObserver(self, selector: #selector(messageReceived), name: .messageReceived, object: nil)
}
@objc func messageReceived() {
print("메시지 수신")
if let msg = (Notification.currentNotification?.userInfo?["msg"] as? String) {
print(msg)
}
}
}
위 예제에서는 NotificationCenter를 사용하여 메시지를 전달하고 수신하는 방법을 보여줍니다.
메시지를 전달하는 ViewController는 NotificationCenter.default.post() 메서드를 사용하여 메시지를 전달하고, 메시지를 수신하는 SecondViewController는 NotificationCenter.default.addObserver() 메서드를 사용하여 메시지를 수신합니다.
메시지를 수신하는 ViewController에서 메시지를 받는 방법은 Notification.currentNotification?.userInfo?["msg"] as? String를 사용하여 메시지를 받을 수 있습니다.
이러한 방법을 사용하여 메시지를 전달하고 수신할 수 있습니다.
2025-03-13 18:12