iOS介面卡(Adapter)模式

2021-07-05 09:21:46 字數 2369 閱讀 3779

介面卡可以讓一些介面不相容的類一起工作,它包裝乙個物件然後暴漏乙個標準的互動介面

具體實現步驟:

1.協議

#import

@protocol ptabadapterprotocol

-(uicolor *)buttontintcolor;

-(uicolor *)backgroundcolor;

-(nsstring*)tabone;

@end

2.新建乙個ptabadapter 父類,這個類實現ptabadapterprotocol協議

#import

#import "ptabadapterprotocol.h"

@inte***ce ptabadapter : nsobject

/***  輸入物件

*/@property(nonatomic,strong)iddata;

/***  與輸入物件建立聯絡

**  @param data 輸入的物件

**  @return 例項物件

*/- (instancetype)initwithdata:(id)data;

@end

#import "ptabadapter.h"

@implementationptabadapter

- (instancetype)initwithdata:(id)data

returnself;

}-(uicolor *)buttontintcolor

-(uicolor *)backgroundcolor

-(nsstring*)tabone

3.新建 pbeautyentityadapter子類,他的父類為ptabadapter

#import "ptabentity.h"

@implementation pbeautyentityadapter

- (instancetype)initwithdata:(id)data

returnself;

}-(uicolor *)buttontintcolor

-(uicolor *)backgroundcolor

-(nsstring*)tabone

@end

4.新建乙個model

#import

@inte***ce

ptabentity : nsobject

/***  選項卡1名稱

*/@property(nonatomic,strong)nsstring *tabone;

/***  按鈕字型顏色

*/@property (nonatomic,strong)uicolor  *buttontintcolor;

/***  控制項背顏色

*/@property (nonatomic,strong)uicolor  *backgroundcolor;

#import "ptabentity.h"

@implementationptabentity

@end

5.模型賦值

- (void)loadtabdata

6.新建乙個ptabcontrolview的view

#import

#import "ptabadapterprotocol.h"

@inte***ce ptabcontrolview :uiview

+ (ptabcontrolview *) initwithnib;

- (void)loaddata:(id

)data;

@end

#import "ptabcontrolview.h"

#import "ptabadapterprotocol.h"

@inte***ce

ptabcontrolview()

@property (weak,nonatomic)iboutletuibutton    *tabone;//

選項卡1

@property(weak,nonatomic)id<

ptabadapterprotocol

> data;

@end

@implementation ptabcontrolview

+ (ptabcontrolview *) initwithnib

}return view;

}- (void) awakefromnib

//直接就可以賦值

- (void)loaddata:(id

)data

@end

7.呼叫

_tabview =   [ptabcontrolviewinitwithnib];

[_tabviewloaddata:self.tabadapter];

介面卡模式 Adapter

一句話 什麼是adapter adapter 就是乙個轉換器,比如乙個電源插頭可以讓乙個兩插頭的電器使用牆壁上的三插頭電源。這次的介紹將不寫 雖然設計模式是為了 而生,但我認為這是一種看世界的方法,不僅僅是一種 的設計方式,所以這次的介面卡模式因為比較簡單和容易理解就不再寫 解釋,但介面卡的思想能用...

Adapter 介面卡模式

1.概念 介面卡模式 adapter pattern gof95 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。2.兩種形式 a.類的介面卡模式 b.物件的介面卡模式 3.模擬問題 現在假設我們的程式已經設計了介面request介面,但是...

Adapter介面卡模式

adapter介面卡模式是一種結構型模式,主要應對 由於應用環境的變化,常常需要將 一些現存的物件 放在新的環境中應用,但是,新環境要求的介面是現存物件所不滿足的。設計模式 中說道 將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的類可以一起工作。在實...