MUKSignal 1.1

MUKSignal 1.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2019年10月

Marco Muccinelli维护。



  • 作者
  • Marco Muccinelli

MUKSignal

CI Status Version License Platform

MUKSignal 提供了一种向各种订阅者发送信号的方式。

主要特点

MUKSignal 是一个简单的类,公开三个主要功能。

分发

您可以使用负载分发信号。

MUKSignal<NSString *> *signal = [[MUKSignal alloc] init];
...
[signal dispatch:@"Hello"];

订阅

您可以向信号添加订阅者。

id const token = [signal subscribe:^(NSString *payload) {
    // Called after dispatch
}];

挂起

订阅可以暂时挂起。

[signal suspend:token];
// Dispatches are not delivered
[signal resume:token];
// If a dispatch has occurred during suspension is delivered now (if more than one they are coalesced into one)

特定信号

库包括在特定条件下发送的特定信号。

通知

当通知被触发时,将发送通知信号。

MUKNotificationSignal *signal = [[MUKNotificationSignal alloc] initWithName:name:UIApplicationWillEnterForegroundNotification object:nil];
[signal subscribe:^(NSNotification *notification) {
    // App will enter foreground
}];

UIControl 目标操作

控制操作信号是在触发控件的操作时发送的。

MUKControlActionSignal<UIButton *> *signal = [[MUKControlActionSignal alloc] initWithControl:self.button forEvents:UIControlEventTouchUpInside];
[signal subscribe:^(UIEvent *event) {
    // Called when button has been pressed
}];

观察

观察是将信号与特定的订阅相关联的概念。当有大量信号需要观察以避免使您的视图控制器过于庞杂时,这一点特别有用。

MUKSignal *signal = ...;
MUKSignalObservation *observation = [MUKSignalObservation observationWithSignal:signal token:[signal subscribe:^(id payload) 
{
    // Waiting for a dispatch
}]];

需求

  • iOS 7 SDK。
  • 最小部署目标:iOS 7。

安装

MUKSignal 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中。

pod "MUKSignal"

作者

Marco Muccinelli, [email protected]

许可证

MUKSignal 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。