ios鏈式程式設計

2021-10-01 07:43:18 字數 1475 閱讀 3265

首先我們看一下使用masonry對控制項進行布局的**格式。

[self.bottomview1 mas_makeconstraints:^(masconstraintmaker *make) ];
上邊這段**有特點

使用點語法

可以進行鏈式呼叫

那麼實現鏈式程式設計就需要解決上邊兩個問題。

/*

* function.h

*/#import @class function1;

typedef void(^mblock)();

@inte***ce function1 : nsobject

- (mblock)function;

@end

/** function.m

*/#import "function1.h"

@implementation function1

- (mblock)function;

}@end

/** 呼叫

*/- (void)viewdidload

使用這種方式就可以做到點語法呼叫方法。但是我們可以發現這種寫法無法傳入引數。接下來我們繼續解決這個問題。

/*

* function2.h

*/#import @class function2;

typedef void(^mblock1)(nsstring *str);

@inte***ce function2 : nsobject

- (mblock1)function;

@end

/** function.m

*/#import "function2.h"

@implementation function2

- (mblock1)function;

}@end

/** 呼叫

*/- (void)viewdidload

通過給block加入引數,這樣在使用點語法呼叫方法時返回乙個block,通過給block加入引數即可達到目的。接下來就剩下最後乙個問題:如何實現鏈式呼叫。

/*

* function.h

*/#import @class function3;

typedef function3 *(^mblock2)(nsstring *str);

@inte***ce function3 : nsobject

- (mblock2)function;

@end

/** function.m

*/#import "function3.h"

@implementation function3

- (mblock2)function;

}@end

/** 呼叫

*/- (void)viewdidload

iOS鏈式程式設計

nsinteger result adder.add 4 sub 1 mult 2 div 3 表示 4 1 2 3,是不是很方便很直觀。我們知道,如果是c 的實現話鏈式操作是很簡單的,因為c 的函式呼叫就是通過點操作呼叫的,只需要返回物件本身就可以實現鏈結了。但是oc就不行了,因為oc的點操作表示...

iOS中的鏈式程式設計

ios開發過程中鏈式程式設計平時運用的最多的應該就是 masonry的約束,剛開始用masonry時就感覺莫名其妙,只是按照規則用 把一系列設定連線起來,感覺可讀性很好並沒有深入 偶爾看到鏈式程式設計的思想,就是以masonry舉得例子,才認識到這其實是一種讓 可讀性更強,也能提高開發效率的一種思想...

黑魔法 iOS鏈式程式設計

在使用sdautolayout 時就已經發現這種鏈式程式設計。通過 將屬性鏈結在一起形成如同一條鏈的程式設計方法。self.totalmoneycount sd layout.leftequaltoview self rightequaltoview self topspacetoview self...