什么是cateGory帽借?
- cateGory是一種類(lèi)別
- 這是一種比繼承更簡(jiǎn)潔的方法來(lái)對(duì)類(lèi)進(jìn)行擴(kuò)展,不需創(chuàng)建子類(lèi)就能為現(xiàn)有的類(lèi)提供方法超歌,還可以提供方法的重寫(xiě) 砍艾。
[Category相關(guān)鏈接] (http://cocoacats.com/)
-
類(lèi)別的優(yōu)缺點(diǎn)
-
缺點(diǎn)
- (1)無(wú)法向類(lèi)別中(interface)添加新的實(shí)體變量
* (2)名稱(chēng)沖突 (類(lèi)別方法與原始方法沖突時(shí),類(lèi)別方法優(yōu)先握础,將完全取代初始方法辐董,而無(wú)法在使用初始方法)
-
優(yōu)點(diǎn)
- (1)可以將類(lèi)的實(shí)現(xiàn)分散到不同的文件當(dāng)中
接下來(lái)我列舉一下我們項(xiàng)目中用到的cateGory 。
- 加載網(wǎng)絡(luò)圖片
#import "UIImageView+AFNetworking.h"
(使用cateGory加載圖片)
[cell.image setImageWithURL:[NSURL URLWithString:dic[@"logoPath"]]];
[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:@""];
* 設(shè)置btn的點(diǎn)事件``#import "UIViewController+MALNavigation.h"
``
[barItem.contentBarItem addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];
* 創(chuàng)建Category``@interface UIImageView_Bg : UIImageView
``
把_刪除在Bg處用()括住 把繼承刪除