什么是RAC?
几乎每一篇介绍RAC的文章开头都是这么一个问题。我这篇文章是写给新手(包括我自己)看的,所以这个问题更是无法忽视。
简单的说,RAC就是一个第三方库,他可以大大简化你的代码过程。
官方的说,ReactiveCocoa(其简称为RAC)是由GitHub开源的一个应用于iOS和OS X开发的新框架。RAC具有函数式编程和响应式编程的特性.
RAC工程配置:
习惯使用pods的童鞋可以用pod命令快速导入RAC框架 //pod ‘ReactiveCocoa‘
或者直接拖入工程
RAC简单使用
/**
* test1 文本框的RAC
*/
-(
void
)test1{
UITextField* textField =[[UITextField alloc] init];
[self.view addSubview:textField];
[textField mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(@10);
make.right.equalTo(@(-10));
make.height.equalTo(@40);
make.top.equalTo(@40);
}];
textField.backgroundColor =[UIColor lightGrayColor];
[[textField rac_signalForControlEvents:UIControlEventEditingChanged] subscribeNext:^(id x){
//这时候x类型为textField 建议使用这个
NSLog(@
"文本框的文字是%@"
,[x text]);
}];
[[textField rac_textSignal] subscribeNext:^(id x) {
//这时候x 为 NSString类型
NSLog(@
"文本框的问题是%@"
,x);
}];
}