加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ReactiveCocoa之RAC常用宏(十)

发布时间:2020-12-15 08:22:41 所属栏目:百科 来源:网络整理
导读:/** *RAC有许多强大而方便的宏。 */ -( void )viewDidLoad{ [ super viewDidLoad ]; //Doanyadditionalsetupafterloadingtheview,typicallyfromanib. self testAndtest2 ]; } /** *RAC宏 */ void )test { //RAC:把一个对象的某个属性绑定一个信号,只要发出信
  1. /**
  2. *RAC有许多强大而方便的宏。
  3. */
  4. -(void)viewDidLoad{
  5. [superviewDidLoad];
  6. //Doanyadditionalsetupafterloadingtheview,typicallyfromanib.
  7. selftestAndtest2];
  8. }
  9. /**
  10. *RAC宏
  11. */
  12. void)test
  13. {
  14. //RAC:把一个对象的某个属性绑定一个信号,只要发出信号,就会把信号的内容给对象的属性赋值
  15. //给label的text属性绑定了文本框改变的信号
  16. RAC(self.label,text)=self.textField.rac_textSignal;
  17. //[self.textField.rac_textSignalsubscribeNext:^(idx){
  18. //self.label.text=x;
  19. //}];
  20. *KVO
  21. *RACObserveL:快速的监听某个对象的某个属性改变
  22. *返回的是一个信号,对象的某个属性改变的信号
  23. void)test2{
  24. [RACObserve(self.view,center)subscribeNext:^(idx){
  25. NSLog(@"%@",x);
  26. }];
  27. }
  28. -(void)testAndtest2//textField输入的值赋值给label,监听label文字改变,
  29. {
  30. NSLog(@"====label的文字变了");
  31. *循环引用问题
  32. void)test3{
  33. @weakify(self)
  34. RACSignal*signal=[RACSignalcreateSignal:^RACDisposable*(id<RACSubscriber>subscriber){
  35. @strongify(self.view);
  36. returnnil;
  37. }];
  38. _signal=signal;
  39. *元祖
  40. *快速包装一个元组
  41. *把包装的类型放在宏的参数里面,就会自动包装
  42. void)test4{
  43. RACTuple*tuple=RACTuplePack(@1,153); background-color:inherit; font-weight:bold">@2,153); background-color:inherit; font-weight:bold">@4);
  44. //宏的参数类型要和元祖中元素类型一致,右边为要解析的元祖。
  45. RACTupleUnpack_(NSNumber*num1,153); background-color:inherit; font-weight:bold">NSNumber*num2,153); background-color:inherit; font-weight:bold">NSNumber*num3)=tuple;//4.元祖
  46. //快速包装一个元组
  47. //把包装的类型放在宏的参数里面,就会自动包装
  48. NSLog(@"%@%@%@",num1,num2,num3);
  49. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读