NotificationCenter 기초 기초
그림으로 하면 이런 느낌입니다.
부모와 자식 관계가 없는 클래스끼리의 연락에 매우 편리합니다.
메시지가 통일되면
클래스 A가 복수 있어도, 클래스 B가 복수 있어도 괜찮습니다. 연락이 가능합니다.
샘플로 홈 버튼을 눌러 백그라운드로 갈 때 "willResignActive"라는 메시지를 발신하여 ViewController에서 받는 샘플을 만듭니다.
먼저 SingleViewApplication 프로젝트를 만듭니다.
AppDelegate.swift 내에서 아웃바운드 코드 작성
func applicationWillResignActive(_ application: UIApplication) {
// "willResignActive"を発信!
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "willResignActive"), object: nil)
}
ViewController.swift 내에 감시 코드와 수신 코드 작성
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 「"willResignActive"って呼ばれたらこのクラス(self)に書いてあるhoge()を呼んでね」
NotificationCenter.default.addObserver(
self,
selector: #selector(self.hoge),
name: NSNotification.Name("willResignActive"),
object: nil
)
}
func hoge() {
print("willResignActiveって呼ばれたよー!")
}
}
단지 이것만으로 사용할 수 있습니다.
앱 개발을 시작했을 무렵 매우 고마운 구조였으므로, 꼭 사용해 보세요. 연락을 다루는 클래스끼리 부모와 자식 관계가 있다면 Delegate를 사용하는 것이 좋지만.
Reference
이 문제에 관하여(NotificationCenter 기초 기초), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ika_tarou/items/af67ede61f56eccff9a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)