XLReactiveCocoaExtensions 3.1.1

XLReactiveCocoaExtensions 3.1.1

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

Xaree Lee 维护。



  • 作者:
  • Kang-Yu Xaree Lee

ReactiveCocoa 的开发缺失部分。这个库提供了一些有用的 RACSignal。

从 3.x 版本开始,这个库当前只支持 ReactiveObjC 1.x。

API

RAC 扩展

-[RACSignal racExt_hasValue]:评估值并返回一个布尔值

// return NO
[[RACSignal return:nil] racExt_hasValue];
[[RACSignal return:[NSNull null]] racExt_hasValue];
[[RACSignal return:@""] racExt_hasValue]; // empty string is @NO
[[RACSignal return:@0] racExt_hasValue];  // 0 is @NO
// return YES
[[RACSignal return:@"hello"] racExt_hasValue];
[[RACSignal return:@100] racExt_hasValue];
// evaluate by calling -hasValue on objects (you could extend it by Category)
[[RACSignal return:obj] racExt_hasValue]; // evaluate -[obj hasValue]

-[RACSignal racExt_isValidEmail]:评估值是否为有效的电子邮件格式。适用于 UITextField

[[RACSignal return:nil] racExt_isValidEmail]; // NO
[[RACSignal return:@""] racExt_isValidEmail]; // NO
[[RACSignal return:@"hello"] racExt_isValidEmail]; // NO
[[RACSignal return:@"hello@world"] racExt_isValidEmail]; // NO
[[RACSignal return:@"[email protected]"] racExt_isValidEmail]; // YES
[[RACSignal return:@1] racExt_isValidEmail]; // raise exception on DEBUG for non-string types

NSTimer

// Count up from 0: a signal which will count from 0 to 5 every second.
// events: 0-1-2-3-4-5|
RACSignal *counter$ = [NSTimer racExt_countUpWithTimeInterval:1 fromZeroTo:5];

// Count down to 0: a signal which will count from 5 to 0 every second.
// events: 5-4-3-2-1-0|
RACSignal *counter$ = [NSTimer racExt_countDownWithTimeInterval:1 toZeroFrom:5];