Subscription

open class Subscription<T> : SubscriptionHandling

A default implementation of the SubscriptionHandling protocol, using closures for callbacks.

  • Creates a new subscription that can be used to handle updates.

    Declaration

    Swift

    public init()
  • Register a callback for when an error occurs.

    Declaration

    Swift

    @discardableResult
    open func handleError(_ handler: @escaping (PFQuery<T>, Error) -> Void) -> Subscription

    Parameters

    handler

    The callback to register.

    Return Value

    The same subscription, for easy chaining

  • Register a callback for when an event occurs.

    Declaration

    Swift

    @discardableResult
    open func handleEvent(_ handler: @escaping (PFQuery<T>, Event<T>) -> Void) -> Subscription

    Parameters

    handler

    The callback to register.

    Return Value

    The same subscription, for easy chaining.

  • Register a callback for when a client succesfully subscribes to a query.

    Declaration

    Swift

    @discardableResult
    open func handleSubscribe(_ handler: @escaping (PFQuery<T>) -> Void) -> Subscription

    Parameters

    handler

    The callback to register.

    Return Value

    The same subscription, for easy chaining.

  • Register a callback for when a query has been unsubscribed.

    Declaration

    Swift

    @discardableResult
    open func handleUnsubscribe(_ handler: @escaping (PFQuery<T>) -> Void) -> Subscription

    Parameters

    handler

    The callback to register.

    Return Value

    The same subscription, for easy chaining.

  • Register a callback for when an error occcurs of a specific type

    Example:

    subscription.handle(LiveQueryErrors.InvalidJSONError.self) { query, error in
        print(error)
     }
    

    Declaration

    Swift

    @discardableResult
    public func handle<E: Error>(
        _ errorType: E.Type = E.self,
        _ handler: @escaping (PFQuery<T>, E) -> Void
        ) -> Subscription

    Parameters

    errorType

    The error type to register for

    handler

    The callback to register

    Return Value

    The same subscription, for easy chaining