[Swift]Notification Center vs Delegate 간단 비교

okstring·2021년 8월 12일
0

delegate

장점

  • 엄격한 syntax로 인해 메소드들이 명확하게 명시됨
  • 구현되지 않은 메소드들을 쉽게 알 수 있음
  • 모니터링하는 notificationCenter 같은 외부 객체가 필요없음

단점

  • 많은 줄의 코드가 필요
  • delegate에 nil이 들어가지 않게 해야함(크러시 주의)
  • 순환참조를 조심

Notification

Notification Center 싱글턴 객체를 통해서 post하는 방식으로 사용

장점

  • 많은 줄의 코드가 필요 없이 쉽게 구현이 가능
  • 다수의 객체들에게 동시에 이벤트의 발생을 알려줄 수 있음
  • notificaiton과 관련된 정보를 Any? 타입의 object, [AnyHashable: Any]? 타입의 userInfo 로 전달 할 수 있음

단점

  • post이후 정보를 받을 수 없음
  • 컴파일 시 구독이 잘 되고 있는지, 올바르게 userInfo의 value를 받아오는지 체크가 불가능함
profile
step by step

0개의 댓글