- Category 這是一種比繼承更簡(jiǎn)潔的方法來(lái)對(duì)類(lèi)進(jìn)行擴(kuò)展,不需創(chuàng)建子類(lèi)就能為現(xiàn)有的類(lèi)提供方法,它不但可以添加新方法鸠珠,而且可以從寫(xiě)方法.
Category 鏈接
Category的缺點(diǎn)
- 無(wú)法像類(lèi)中添加新的實(shí)體變量 不能在 @interface 中添加實(shí)體變量
- 名稱(chēng)沖突 (類(lèi)別中的方法與原始類(lèi)方法名稱(chēng)沖突時(shí)遗淳,類(lèi)別具有更高的優(yōu)先級(jí)。類(lèi)別方法將完全取代初始方法從而無(wú)法再使用初始方法)
Category的優(yōu)點(diǎn)
- 可以將類(lèi)的實(shí)現(xiàn)分散到不同文件中 記住
(#import)
接下來(lái)我列舉一下我項(xiàng)目中遇到的 Category
- 加載網(wǎng)絡(luò)圖片
#import "UIImageView+AFNetworking.h"
[cell.image setImageWithURL:[NSURL URLWithString:dic[@"logoPath"]]];
- 校驗(yàn)是否為有效的手機(jī)號(hào)
#import "NSString+MALNSString.h"
(![_TextFieldThree.text isMobilePhoneNumber])
- 設(shè)置導(dǎo)航欄背景圖片 ,和 Title
#import "UIViewController+MALNavigation.h"
[UIViewController setNavigationBarBgImage:self.navigationController andBgImage:[UIImage imageNamed:@"圖片名字"]];
[self setCenterItemWithTitle:@""];
- 創(chuàng)建 Category
@interface UIImageView_Bg : UIImageView
把_刪除在 Bg 處用()括住 把繼承刪除
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者