最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(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