亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Objective-C 入門(六)category 分類

發布時間:2020-05-24 21:19:20 來源:網絡 閱讀:890 作者:skyoceanone 欄目:移動開發

 

Objective-C 入門(六)category 分類
category 字面就很好理解 把你類中定義的一些方法單拿出去(為什么要拿出去呢?)
其實他的實際作用就是為寫的類來擴充一些方法 這對于你的代碼擴充性是一個很好的作用
category分出來的方法是不一定要全部實現的 你可以先定義出來 在你需要的時候來補充它就可以了
 
如何實現category呢
兩種方法
一: 在你原有的.h頭文件中 直接加入category
 例如源代碼 :
 # import <Foundation/Foundation.h>
 @interface Preson:NSObject{
int _age;
NSString * _name;
 }
 @propert (nonatomic,assign)int age;
 @propert (nonatomic,retain)NSString*name;
 -(void)say;
 @end;
加入category 之后.h:
 
 # import <Foundation/Foundation.h>
 @interface SKPerson(自定義一個名字)//-----此處為category 需要加個小括號
 -(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(自定義一個名字)
-(void)go{
 NSLog(@"This is SKPerson category")
}
    @end;
 @implementation SKPerson
syncthsize age=_age;
syncthsize name=_name;
-(void)say{
 NSLog(@"This is SKPerson")
}
    @end;
 
二: 新建一個類 選擇.category 文件 命名通用方法 SKPerson+自定義一個名字 //---------注意有個"+"號
這里就可以直接寫新的方法了
 
.h文件為:
 #improt "SKPerson.h"
 @interface SKPerson(自定義一個名字)
   -(void)go; 
 @end
.m文件為:
 #improt "SKPerson(自定義一個名字)"
 @implementation SKPerson(自定義一個名字)
 -(void)go{
 NSLog(@"This is SKPerson category")
}
 @end
 
使用 category 要注意以下幾點
1 可以訪問原類中的方法屬性
2 可以覆蓋原類中的方法
3 只能增加消息 不能改變實例變量
 
                          ---------本博文針對有JAVA基礎 OC還屬于初學者 文中有錯誤的地方還請指出
 
 
 
 
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开远市| 城固县| 鹿邑县| 铜山县| 江陵县| 莱芜市| 文登市| 瓦房店市| 宁夏| 集贤县| 涿鹿县| 红河县| 义乌市| 会宁县| 汨罗市| 皋兰县| 南康市| 什邡市| 铁力市| 灵川县| 萨迦县| 广宗县| 沾化县| 措勤县| 台中县| 安国市| 东丰县| 溧阳市| 兴城市| 磴口县| 石景山区| 巴彦淖尔市| 盘锦市| 南汇区| 巴彦县| 土默特右旗| 定兴县| 六盘水市| 紫金县| 万载县| 丰台区|