CADisplayLink(FWQuartzCore)

@interface CADisplayLink (FWQuartzCore)

如果block参数不会被持有并后续执行,可声明为NS_NOESCAPE,不会触发循环引用

  • 创建CADisplayLink,使用target-action,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发

    Declaration

    Objective-C

    + (nonnull CADisplayLink *)fw_commonDisplayLinkWithTarget:(nonnull id)target
                                                     selector:(nonnull SEL)selector;

    Parameters

    target

    目标

    selector

    方法

    Return Value

    CADisplayLink

  • 创建CADisplayLink,使用block,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发

    Declaration

    Objective-C

    + (nonnull CADisplayLink *)fw_commonDisplayLinkWithBlock:
        (nonnull void (^)(CADisplayLink *_Nonnull __strong))block;

    Parameters

    block

    代码块

    Return Value

    CADisplayLink

  • 创建CADisplayLink,使用block,需要调用addToRunLoop:forMode:安排到当前的运行循环中(CommonModes避免ScrollView滚动时不触发)。

    Note

    示例:[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]

    Declaration

    Objective-C

    + (nonnull CADisplayLink *)fw_displayLinkWithBlock:
        (nonnull void (^)(CADisplayLink *_Nonnull __strong))block;

    Parameters

    block

    代码块

    Return Value

    CADisplayLink