91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

额尔古纳市| 行唐县| 静宁县| 宁波市| 广水市| 舞钢市| 忻州市| 岐山县| 玛纳斯县| 广安市| 司法| 徐汇区| 开远市| 亳州市| 色达县| 斗六市| 昌黎县| 台北市| 伊宁县| 澎湖县| 临夏县| 周至县| 靖西县| 东乡族自治县| 阜平县| 琼结县| 个旧市| 南郑县| 竹山县| 五常市| 甘泉县| 桐城市| 游戏| 万载县| 新竹县| 柘荣县| 莫力| 灌云县| 开平市| 伊宁市| 襄汾县|