OC中的类目与协议

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.定时器的熟练使用;
很多事情自己都不需要做,找个代理 按照协议来做事 自己只需管好代理





   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值