-
-
- */
-
- -(void)viewDidLoad{
- [superviewDidLoad];
- //Doanyadditionalsetupafterloadingtheview,typicallyfromanib.
- selftestAndtest2];
-
- }
- /**
- *RAC宏
- */
- void)test
- {
- //RAC:把一个对象的某个属性绑定一个信号,只要发出信号,就会把信号的内容给对象的属性赋值
- //给label的text属性绑定了文本框改变的信号
- RAC(self.label,text)=self.textField.rac_textSignal;
- //[self.textField.rac_textSignalsubscribeNext:^(idx){
- //self.label.text=x;
- //}];
- *KVO
- *RACObserveL:快速的监听某个对象的某个属性改变
- *返回的是一个信号,对象的某个属性改变的信号
- void)test2{
- [RACObserve(self.view,center)subscribeNext:^(idx){
- NSLog(@"%@",x);
- }];
- }
- -(void)testAndtest2
- {
- NSLog(@"====label的文字变了");
- *循环引用问题
- void)test3{
- @weakify(self)
- RACSignal*signal=[RACSignalcreateSignal:^RACDisposable*(id<RACSubscriber>subscriber){
- @strongify(self.view);
- returnnil;
- }];
- _signal=signal;
- *元祖
- *快速包装一个元组
- *把包装的类型放在宏的参数里面,就会自动包装
- void)test4{
- RACTuple*tuple=RACTuplePack(@1,153); background-color:inherit; font-weight:bold">@2,153); background-color:inherit; font-weight:bold">@4);
- //宏的参数类型要和元祖中元素类型一致,右边为要解析的元祖。
- RACTupleUnpack_(NSNumber*num1,153); background-color:inherit; font-weight:bold">NSNumber*num2,153); background-color:inherit; font-weight:bold">NSNumber*num3)=tuple;
- //快速包装一个元组
- //把包装的类型放在宏的参数里面,就会自动包装
- NSLog(@"%@%@%@",num1,num2,num3);
- }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|