iOS 通過(guò)協(xié)議提供匿名對(duì)象

這個(gè)專題主要講通過(guò)協(xié)議提供匿名對(duì)象挎峦,主要就是以匿名對(duì)象來(lái)表示從另一個(gè)類中返回對(duì)象遵湖,因?yàn)椴煌膶?duì)象處理的問(wèn)題不一樣泳桦。

協(xié)議代碼如下:

@protocol CarProtocol

-(void)carDriver;

@end


遵從CarProtocol協(xié)議的類景用,就是具體的車子代碼如下:

//.h文件實(shí)現(xiàn)

@interface CCar:NSObject<CarProtocol>

@end

//.m文件實(shí)現(xiàn)

#import"CCar.h"

@interface CCar()

@end

@implementation CCar

//實(shí)現(xiàn)協(xié)議中開(kāi)車方法

- (void)carDriver {

NSLog(@"carDriver");

}

實(shí)現(xiàn)車子的工廠方法如下:

@interface CCarFactory:NSObject

+ (instancetype)shareInstance;

/**通過(guò)協(xié)議提供匿名對(duì)象盗迟,返回的車具體不知道是什么類型坤邪,我們不關(guān)注,只要是車就行**/

- (id)createCarWithName:(NSString*)carName;

@end

@implementation CCarFactorystaticidinstance

+ (instancetype)shareInstance {

staticdispatch_once_tpredicate;

dispatch_once(&predicate, ^{?

?instance = [[CCarFactory alloc] init];?

?});

return ?instance;

}

- (id<CarProtocol>)createCarWithName:(NSString*)carName {?

if(carName iseqstring:@"CCar"){

?CCar *car = [[CCar alloc] init];?

? [car?carDriver];

? return car;

}

return nil;

}

@end


這樣只要調(diào)用工廠類CCarFactory诈乒,然后根據(jù)傳入的不同類名罩扇,就可以創(chuàng)建不同類,怕磨,還有CCarFactory只是一個(gè)中轉(zhuǎn)站喂饥,組裝還是要看各個(gè)實(shí)現(xiàn)的方法。

在不同的地方使用如下:

id<CarProtocol>?= [[CCarFactory shareInstance] createCarWithName:@"火車"];

[car carDrive];

主要講的就是匿名類的調(diào)用肠鲫,具體的類型不重要员帮。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市导饲,隨后出現(xiàn)的幾起案子捞高,更是在濱河造成了極大的恐慌氯材,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硝岗,死亡現(xiàn)場(chǎng)離奇詭異氢哮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)型檀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門冗尤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人胀溺,你說(shuō)我怎么就攤上這事裂七。” “怎么了仓坞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵背零,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我无埃,道長(zhǎng)徙瓶,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任录语,我火速辦了婚禮倍啥,結(jié)果婚禮上禾乘,老公的妹妹穿的比我還像新娘澎埠。我一直安慰自己,他們只是感情好始藕,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布蒲稳。 她就那樣靜靜地躺著,像睡著了一般伍派。 火紅的嫁衣襯著肌膚如雪江耀。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天诉植,我揣著相機(jī)與錄音祥国,去河邊找鬼。 笑死晾腔,一個(gè)胖子當(dāng)著我的面吹牛舌稀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灼擂,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼壁查,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了剔应?” 一聲冷哼從身側(cè)響起睡腿,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤语御,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后席怪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體应闯,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年挂捻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了孽锥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡细层,死狀恐怖惜辑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疫赎,我是刑警寧澤盛撑,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站捧搞,受9級(jí)特大地震影響抵卫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胎撇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一介粘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧晚树,春花似錦姻采、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至宝鼓,卻和暖如春刑棵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背愚铡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工蛉签, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沥寥。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓碍舍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親营曼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子乒验,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345