IView

public protocol IView

The interface definition for a PureMVC View.

In PureMVC, IView implementors assume these responsibilities:

In PureMVC, the View class assumes these responsibilities:

  • Maintain a cache of IMediator instances.
  • Provide methods for registering, retrieving, and removing IMediators.
  • Managing the observer lists for each INotification in the application.
  • Providing a method for attaching IObservers to an INotification‘s observer list.
  • Providing a method for broadcasting an INotification.
  • Notifying the IObservers of a given INotification when it broadcast.

@see org.puremvc.swift.interfaces.IMediator IMediator

@see org.puremvc.swift.interfaces.IObserver IObserver

@see org.puremvc.swift.interfaces.INotification INotification

  • Initialize the View instance.

    Declaration

    Swift

    func initializeView()
  • Register an IObserver to be notified of INotifications with a given name.

    Declaration

    Swift

    func registerObserver(_ notificationName: String, observer: IObserver)

    Parameters

    notificationName

    the name of the INotifications to notify this IObserver of

    observer

    the IObserver to register

  • Notify the IObservers for a particular INotification.

    All previously attached IObservers for this INotification‘s list are notified and are passed a reference to the INotification in the order in which they were registered.

    Declaration

    Swift

    func notifyObservers(_ notification: INotification)

    Parameters

    notification

    the INotification to notify IObservers of.

  • Remove a group of observers from the observer list for a given Notification name.

    Declaration

    Swift

    func removeObserver(_ notificationName: String, notifyContext: AnyObject)

    Parameters

    notificationName

    which observer list to remove from

    notifyContext

    removed the observers with this object as their notifyContext

  • Register an IMediator instance with the View.

    Registers the IMediator so that it can be retrieved by name, and further interrogates the IMediator for its INotification interests.

    If the IMediator returns any INotification names to be notified about, an Observer is created encapsulating the IMediator instance’s handleNotification method and registering it as an Observer for all INotifications the IMediator is interested in.

    Declaration

    Swift

    func registerMediator(_ mediator: IMediator)

    Parameters

    mediatorName

    the name to associate with this IMediator instance

    mediator

    a reference to the IMediator instance

  • Retrieve an IMediator from the View.

    Declaration

    Swift

    func retrieveMediator(_ mediatorName: String) -> IMediator?

    Parameters

    mediatorName

    the name of the IMediator instance to retrieve.

    Return Value

    the IMediator instance previously registered with the given mediatorName.

  • Check if a Mediator is registered or not

    Declaration

    Swift

    func hasMediator(_ mediatorName: String) -> Bool

    Parameters

    mediatorName

    Return Value

    whether a Mediator is registered with the given mediatorName.

  • Remove an IMediator from the View.

    Declaration

    Swift

    @discardableResult
    func removeMediator(_ mediatorName: String) -> IMediator?

    Parameters

    mediatorName

    name of the IMediator instance to be removed.

    Return Value

    the IMediator that was removed from the View