DispatchedObject

@objc public class DispatchedObject: NSObject, DispatchedValueWrapper

Thread-safe value wrapper for NSObject, using dispatch queues to achieve synchronization. This class is KVO-compliant. You may observe its value property to be notified of changes. This is applicable to Cocoa bindings.

Seealso

DispatchedValueWrapper
  • The wrapped value type, NSObject.

    Declaration

    Swift

    public typealias ValueType = NSObject?
  • Initializes a dispatched value object.
    This initializer will use the main queue for synchronization.

    Declaration

    Swift

    public required convenience init( value: ValueType )
  • Initializes a dispatched value object.

    Declaration

    Swift

    public required init( value: ValueType = nil, queue: DispatchQueue = DispatchQueue.main )
  • The wrapped NSObject value.
    This property is KVO-compliant.

    Declaration

    Swift

    @objc public dynamic var value: ValueType
  • Atomically gets the wrapped NSObject value.
    The getter will be executed on the queue specified in the initialzer.

    Declaration

    Swift

    public func get() -> ValueType

    Return Value

    The actual NSObject value.

  • Atomically sets the wrapped NSObject value.
    The setter will be executed on the queue specified in the initialzer.

    -parameter value: The NSObject value to set.

    Declaration

    Swift

    public func set( _ value: ValueType )
  • Atomically executes a closure on the wrapped NSObject value.
    The closure will be passed the actual value of the wrapped NSObject value, and is guaranteed to be executed atomically, on the queue specified in the initialzer.

    -parameter closure: The close to execute.

    Declaration

    Swift

    public func execute( closure: ( ValueType ) -> Swift.Void )
  • Atomically executes a closure on the wrapped NSObject value, returning some value. The closure will be passed the actual value of the wrapped NSObject value, and is guaranteed to be executed atomically, on the queue specified in the initialzer.

    -parameter closure: The close to execute, returning some value.

    Declaration

    Swift

    public func execute< R >( closure: ( ValueType ) -> R ) -> R