CADisplayLink
@_spi(FW) extension CADisplayLink
如果block参数不会被持有并后续执行,可声明为NS_NOESCAPE,不会触发循环引用
-
创建CADisplayLink,使用target-action,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发
Declaration
Swift
public static func fw_commonDisplayLink(target: Any, selector: Selector) -> CADisplayLink
Parameters
target
目标
selector
方法
Return Value
CADisplayLink
-
创建CADisplayLink,使用block,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发
Declaration
Swift
public static func fw_commonDisplayLink(block: @escaping (CADisplayLink) -> Void) -> CADisplayLink
Parameters
block
代码块
Return Value
CADisplayLink
-
创建CADisplayLink,使用block,需要调用addToRunLoop:forMode:安排到当前的运行循环中(CommonModes避免ScrollView滚动时不触发)。
示例:[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]
Declaration
Swift
public static func fw_displayLink(block: @escaping (CADisplayLink) -> Void) -> CADisplayLink
Parameters
block
代码块
Return Value
CADisplayLink