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