NgUpdateLink是一个iOS库,用于调节/安排UI更新。它提供了对UIKit的CADisplayLink
API的简单抽象。
如果您使用Cocoapods,请在Podfile中添加以下内容
pod NgUpdateLink
要手动添加到项目中
1. Add files in NgUpdateLink folder to your project.
2. Add these frameworks to your project: `UIKit`.
NgUpdateLink支持在NSDefaultRunLoopMode
和NSCommonRunLoopModes
中安排更新。该库包含一个NSObject类别,允许每个对象轻松安排更新。
有两种方式来实现
-ng_setNeedsUpdate
(或使用带期望运行循环模式的-ng_setNeedsUpdate:
)来安排。调用此方法的对象将接收到ng_update
回调。-ng_setNeedsUpdateWithAction:
(或-ng_setNeedsUpdate:action:
)来安排带特定方法回调的更新。NgUpdateLink旨在解决某些类型的应用程序中存在的问题,例如聊天应用,其中有大量由各种事件触发的UI更新。理想情况下,我们只想在单个运行循环中到达的事件数量不管多少的情况下进行一次UI更新。
// imaginary events
- (void)newReplyInserted:(NSNotification *)note {
[self ng_setNeedsUpdate:NSCommonRunLoopModes action:@selector(insertNewReplies)];
}
// the callback
- (void)insertNewReplies {
// insert rows to table/collection view for new replies
}
Meiwin Fu
NgUpdateLink在MIT许可下提供。有关更多信息,请参阅LICENSE文件。