XZ iOS之函式式程式設計和鏈式程式設計

2021-08-04 13:36:18 字數 2668 閱讀 1348

//

函式式程式設計

:物件呼叫方法

,返回這個物件本身

,然後再去呼叫另乙個方法

,呼叫完返回的還是這個物件本身.

// 鏈式程式設計:通過

」點」語法去呼叫方法,使用

』()『

即block

的方式呼叫方法,如果要實現函式式程式設計,需要返回

'block'

// masonry

是函式式程式設計和鏈式程式設計的

經典代表

uiview

*view = [[

uiview

alloc

] init];

view.

backgroundcolor

= [uicolor

bluecolor];

[self

.view

addsubview

:view];

[view

mas_makeconstraints

:^(masconstraintmaker

*make) ];

xzpeson.h中

@inte***ce

xzpersona :

nsobject

// 在person

類中定義兩個方法

- (void

)run;

- (void

)eat;

// 在person

類中定義兩個方法,返回物件本身

- (xzpersona

*)run1;

- (xzpersona

*)eat1;

// 在person

類中定義兩個方法,返回值是不帶引數的

block

,block

的返回值是物件本身

- (xzpersona

*(^)())run2;

- (xzpersona

*(^)())eat2;

// 在person

類中定義兩個方法,返回值是帶引數的

block

,block

的返回值是物件本身

- (xzpersona

*(^)(

double

distance))run3;

- (xzpersona

*(^)(

nsstring

*food))eat3;

@end

xzpeson.m中

#import

"xzpersona.h"

@implementation

xzpersona

// 在person

類中定義兩個方法

- (void

)run

- (void

)eat

// 在person

類中定義兩個方法,返回物件本身

- (xzpersona

*)run1

- (xzpersona

*)eat1

// 在person

類中定義兩個方法,返回值是不帶引數的

block

,block

的返回值是物件本身

- (xzpersona

* (^)())run2 ;

nslog

(@"%s"

,__function__);

return

runblock; }

- (xzpersona

* (^)())eat2 ;

nslog

(@"%s"

,__function__);

return

eatblock; }

// 在person

類中定義兩個方法,返回值是帶引數的

block

,block

的返回值是物件本身

- (xzpersona

*(^)(

nsstring

*food))eat3 ;

//    return eatblock;

//  即

return

^(nsstring

*food) ; }

- (xzpersona

*(^)(

double

distance))run3 ; }

@end

xzfunandchainprocontroller.m中

// 

函式式程式設計和鏈式程式設計

#import

"xzfunandchainprocontroller.h"

#import

"xzpersona.h"

@inte***ce

xzfunandchainprocontroller ()

@end

@implementation

xzfunandchainprocontroller

- (void

)viewdidload

@end

該方法的返回值是帶引數的

block,block

的返回值是物件本身

鏈式程式設計與函式式程式設計

歡迎 一 鏈式程式設計 所謂的鏈式程式設計就是可以通過 點 語法,將需要執行的 塊連續的書寫下去,使得 簡單易讀,書寫方便。在jquery中早就有了這個概念。示例 var result new biginteger 31415926535 multiply new biginteger 4 subt...

ios 鏈式程式設計 函式式程式設計以及響應式程式設計

我們如果在完成一件事情的時候,可能會需要有很多步驟,那我們其實就可以把這個步驟看成是乙個乙個的過程,然後再去組合起來,這樣會比較的清晰。就比如說學生要吃飯,讀書,跑步我們如果直接去呼叫方法的話是直接如以下步驟所示去呼叫的,這就是去實現吃飯,學習,跑步。這裡需要注意的是無引數的方法也是可以通過點的形式...

python函式式程式設計模式 什麼是函式式程式設計思維?

函式式程式設計與命令式程式設計最大的不同其實在於 函式式程式設計關心資料的對映,命令式程式設計關心解決問題的步驟 這裡的對映就是數學上 函式 的概念 一種東西和另一種東西之間的對應關係。這也是為什麼 函式式程式設計 叫做 函式 式程式設計。這是什麼意思呢?假如,現在你來到 google 面試,面試官...