MulticastBlock
public class MulticastBlock : NSObject
多句柄代理,线程安全,可实现重复、单次或延迟调用功能
串行安全:读sync,写async 并行安全:读sync,写async, 用flags:.barrier加共享互斥锁
-
调用后是否自动移除句柄,默认false可重复执行
Declaration
Swift
public var autoRemoved: Bool
-
是否只能invoke一次,开启时invoke后再append会立即执行而不是添加,默认false
Declaration
Swift
public var invokeOnce: Bool
-
是否在主线程执行,会阻碍UI渲染,默认false
Declaration
Swift
public var onMainThread: Bool
-
指定Key并返回代理单例
Declaration
Swift
public static func sharedBlock(_ key: AnyHashable) -> MulticastBlock
-
添加句柄,invokeOnce开启且调用了invoke后会立即执行而不是添加
Declaration
Swift
public func append(_ block: @escaping () -> Void)
-
手动清空所有句柄
Declaration
Swift
public func removeAll()
-
调用句柄,invokeOnce开启时多次调用无效
Declaration
Swift
public func invoke()