1.類目最大的作用:Category
優點:類目可以爲一個現有的類擴展新的方法,擴展的方法會成爲原始類的一部分
且類目擴展的方法,子類也能繼承下來
缺點:類目可以覆蓋現有類的方法,覆蓋後原始方法無法調用,不能爲類擴展實列屬性
2.類目一般使用的兩種方法:
(1)、自己創建新的類,修改類 命名規則:類名+擴展方法
聲明類目
@interface NSString(Extension)
//覆寫方法
-(NSUInteger)length;
@end
(2)、在類的實現文件中擴展,叫延展,在.m中定義類目
/*@Interface Person() person 可以不寫
-(void)_showInfo;
@end*/ //以前的版本 現在不需要了 相當於私有方法
.m中是可以定義屬性的
(void)showInfo
{
-NSLog(@"輸入此人的身份信息");
}
@end
=====================================================
3.協議的定義 協議是定義了一組方法,讓其他類實現。協議本身不是類
@required:表示必須實現的方法
@optional:表示可選的實現方法
@protocol wxhlProtocol<NSObject>
@required
…………
@optional
@end
協議就相當於多建了一個頭文件,也是.h文件嘛 每個類可以有自己的實現 協議定義在自己頭文件中也無所謂
4.協議的實現
@interface Student:NSObject<wxhlProtocol>
@end
@implementation Student
……………
@end
#pragma mark - Wxhlprotocol協議方法 分類
#warning 代碼過幾天在補充 警告
//判斷wearNeat可選方法是否在Enginer中定義
if([p respondsToSelector:@selector(wearNeat)])
===================================================
5.定時器NSTimer
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:@"參數" repeats:YES];
-(void)timerAction:(NSTimer *)timer
{
index++;
NSLog(@"index=%ld",index);
if(index==5)
{
//終止定時器
[timer invalidate];
}
}
//NSRunLoop 讓程序始終處於運行狀態
[[NSRunLoop currentRunLoop]run];
6.代理設計模式
這是一種思想:
1.多態 id <協議>_delegate;
2.協議做父親類;
3.定時器的熟練使用;
很多事情自己都不需要做,找個代理 按照協議來做事 自己只需管好代理
OC中的類目與協議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
OC的Foundation框架1
逝华_浮梦
2020-02-24 08:31:12
OC的Foundation框架2
逝华_浮梦
2020-02-24 08:31:12
OC面向對象的三大特點
逝华_浮梦
2020-02-24 08:31:12
OC中對象的常用方法
逝华_浮梦
2018-08-28 06:52:14