Notifier

open class Notifier : INotifier

A Base INotifier implementation.

MacroCommand, Command, Mediator and Proxy all have a need to send Notifications.

The INotifier interface provides a common method called sendNotification that relieves implementation code of the necessity to actually construct Notifications.

The Notifier class, which all of the above mentioned classes extend, provides an initialized reference to the Facade Multiton, which is required for the convienience method for sending Notifications, but also eases implementation as these classes have frequent Facade interactions and usually require access to the facade anyway.

NOTE: In the MultiCore version of the framework, there is one caveat to notifiers, they cannot send notifications or reach the facade until they have a valid multitonKey.

The multitonKey is set:

  • on a Command when it is executed by the Controller
  • on a Mediator is registered with the View
  • on a Proxy is registered with the Model.

@see org.puremvc.swift.multicore.patterns.proxy.Proxy Proxy

@see org.puremvc.swift.multicore.patterns.facade.Facade Facade

@see org.puremvc.swift.multicore.patterns.mediator.Mediator Mediator

@see org.puremvc.swift.multicore.patterns.command.MacroCommand MacroCommand

@see org.puremvc.swift.multicore.patterns.command.SimpleCommand SimpleCommand

  • Message constant

    Declaration

    Swift

    open class var MULTITON_MSG: String { get }
  • Reference to the Facade Multiton

    Declaration

    Swift

    open lazy var facade: IFacade { get set }
  • Constructor

    Declaration

    Swift

    public init()
  • Create and send an INotification.

    Keeps us from having to construct new INotification instances in our implementation code.

    Declaration

    Swift

    open func sendNotification(_ notificationName: String, body: Any, type: String)

    Parameters

    notificationName

    the name of the notification to send

    body

    the body of the notification (optional)

    type

    the type of the notification (optional)

  • Create and send an INotification.

    Keeps us from having to construct new INotification instances in our implementation code.

    Declaration

    Swift

    open func sendNotification(_ notificationName: String, body: Any)

    Parameters

    notificationName

    the name of the notification to send

    body

    the body of the notification (optional)

  • Create and send an INotification.

    Keeps us from having to construct new INotification instances in our implementation code.

    Declaration

    Swift

    open func sendNotification(_ notificationName: String)

    Parameters

    notificationName

    the name of the notification to send

  • Initialize this INotifier instance.

    This is how a Notifier gets its multitonKey. Calls to sendNotification or to access the facade will fail until after this method has been called.

    Mediators, Commands or Proxies may override this method in order to send notifications or access the Multiton Facade instance as soon as possible. They CANNOT access the facade in their constructors, since this method will not yet have been called.

    Declaration

    Swift

    open func initializeNotifier(_ key: String)

    Parameters

    key

    the multitonKey for this INotifier to use