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