RAC ReactiveCocoa 使用方法 二

2021-09-11 13:24:43 字數 2719 閱讀 9110

rac(reactivecocoa)使用方法(一)

rac(reactivecocoa)使用方法(二)

網路請求

貼上核心**,具體**見github;

//

// viewmodel.m

//

//// created by soliloquy on 2017/11/28.

////豆瓣電影api

#define url @""

#import "viewmodel.h"

#import

#import

#import "model.h"

@implementation viewmodel

- (instancetype)init

failure:^(nserror *error) ];

return nil;

}];}];

}return self;

}- (void)fetchdata:(void(^)(nsarray *arr))successblock failure:(void(^)(nserror *error))failure

*//**

方法二 : reactivecocoa

*/if (successblock)

} failure:^(nsurlsessiondatatask * _nullable task, nserror * _nonnull error)

}];}@end

複製**

- (void)viewdidload 

- (void)bindviewmodel ];

// 返回錯誤

[self.viewmodel.command.errors subscribenext:^(nserror *_nullable x) ];

//執行command

[self.viewmodel.command execute:nil];

}複製**

**
uialertview *alertview = [[uialertview alloc] initwithtitle:@"標題" message:@"123456" delegate:self cancelbuttontitle:@"cancel" otherbuttontitles:@"other", nil];

[[self rac_signalforselector:@selector(alertview:clickedbuttonatindex:) fromprotocol:@protocol(uialertviewdelegate)] subscribenext:^(ractuple *tuple) ];

[alertview show];

複製**

通知
nsmutablearray *dataarray = [[nsmutablearray alloc] initwithobjects:@"1", @"2", @"3", nil];

[[nsnotificationcenter defaultcenter] postnotificationname:@"notiname" object:dataarray];

複製**

[[[nsnotificationcenter defaultcenter] rac_addobserverforname:@"notiname" object:nil] subscribenext:^(nsnotification *notification) ];

複製**

kvo
uiscrollview *scrolview = [[uiscrollview alloc] initwithframe:cgrectmake(0, 0, 200, 200)];

scrolview.contentsize = cgsizemake(200, 800);

scrolview.backgroundcolor = [uicolor redcolor];

[self.view addsubview:scrolview];

[racobserve(scrolview, contentoffset) subscribenext:^(id x) ];

複製**

####target-action

[[self.button rac_signalforcontrolevents:uicontroleventtouchupinside] subscribenext:^(id x) ];

複製**

[self.tf.rac_textsignal subscribenext:^(id x) ];

複製**

[[self.tf.rac_textsignal map:^id(id value) ] subscribenext:^(id x) ];

複製**

uitapgesturerecognizer *tap = [[uitapgesturerecognizer alloc]init];

[tap.rac_gesturesignal subscribenext:^(id x) ];

[self.redview addgesturerecognizer: tap];

複製**

詳情見github.

pythonpip使用方法 pip使用方法整理

匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...

使用方法 離型劑使用方法

1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...

使用方法 卡丁車輪胎使用方法

輪胎的使用方法很重要 卡丁車輪胎是卡丁車場日常執行中的主要易損件,但是輪胎的使用方法很重要。哪些情況下會縮短輪胎的使用壽命呢?一 跑道地面粗糙 有的跑道在鋪瀝青時,或者選錯了瀝青中石子的規格,或者碾壓得不夠平整,導致路面粗糙。有的跑道使用現成的水泥地,但表面粗糙或不平整。有的室內跑道,為了提高輪胎的...