新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Objective-C入門(mén)(六)category分類
Objective-C 入門(mén)(六)category 分類
category 字面就很好理解 把你類中定義的一些方法單拿出去(為什么要拿出去呢?)
其實(shí)他的實(shí)際作用就是為寫(xiě)的類來(lái)擴(kuò)充一些方法 這對(duì)于你的代碼擴(kuò)充性是一個(gè)很好的作用
category分出來(lái)的方法是不一定要全部實(shí)現(xiàn)的 你可以先定義出來(lái) 在你需要的時(shí)候來(lái)補(bǔ)充它就可以了
如何實(shí)現(xiàn)category呢
兩種方法
一: 在你原有的.h頭文件中 直接加入category
例如源代碼 :
# import
@interface Preson:NSObject{
int _age;
NSString * _name;
}
@propert (nonatomic,assign)int age;
@propert (nonatomic,retain)NSString*name;
-(void)say;
@end;
加入category 之后.h:
# import
@interface SKPerson(自定義一個(gè)名字)//-----此處為category 需要加個(gè)小括號(hào)
-(void)go;
@ end
@interface SKPerson:NSObject{
int _age;
NSString * _name;
}
@propert (nonatomic,assign)int age;
@propert (nonatomic,retain)NSString*name;
-(void)say;
@end;
.m文件為:
#improt "SKPerson.h"
@implementation SKPerson(自定義一個(gè)名字)
-(void)go{
NSLog(@"This is SKPerson category")
}
@end;
@implementation SKPerson
syncthsize age=_age;
syncthsize name=_name;
-(void)say{
NSLog(@"This is SKPerson")
}
@end;
二: 新建一個(gè)類 選擇.category 文件 命名通用方法 SKPerson+自定義一個(gè)名字 //---------注意有個(gè)"+"號(hào)
這里就可以直接寫(xiě)新的方法了
.h文件為:
#improt "SKPerson.h"
@interface SKPerson(自定義一個(gè)名字)
-(void)go;
@end
.m文件為:
#improt "SKPerson(自定義一個(gè)名字)"
@implementation SKPerson(自定義一個(gè)名字)
-(void)go{
NSLog(@"This is SKPerson category")
}
@end
使用 category 要注意以下幾點(diǎn)
1 可以訪問(wèn)原類中的方法屬性
2 可以覆蓋原類中的方法
3 只能增加消息 不能改變實(shí)例變量
---------本博文針對(duì)有JAVA基礎(chǔ) OC還屬于初學(xué)者 文中有錯(cuò)誤的地方還請(qǐng)指出
標(biāo)題名稱:Objective-C入門(mén)(六)category分類
分享URL:http://fisionsoft.com.cn/article/ggepoj.html