类的扩展

1,类目

1,系统已经写好的类目:按照功能对系统的类方法进行区分

类目从@interface开始,后面是当前类的名字,类名后是分类的功能,@end结束

 2.我们创建的类目,一般是为了把一些系统的类进行功能扩充.

NSString *str=@"2015-07-19 14:26:00";

[str sayhi];//为系统重新写的方法

 NSString *str1=@"2015-07-19 20:00:00";

 NSString *str2=@"2015-07-19 14:30:00";

BOOL isTrue=[str isequalTwoDate:@"2015-07-19 20:00:00"];

NSLog(@"%d",isTrue);

NSLog(@"%@",[str AppyingDate:str1]);

if([str2 isInTimeZone:str end:str1]){

NSLog(@"在这个时间内");

}else{NSLog(@"不在这个时间内");}

NSDate *date=[str stringToDate];

NSLog(@"%@",date);   

NSDate *date1=[NSString stringToDate:str];

NSLog(@"%@",date1);


2.延展

就是保证了类的安全性,在.m文件中声明,实现,只能在.m文件中使用,来保证其安全性.

延展以@interface开头,然后写当前延展的类名,类名后加一个(),@end结束

一般延展会写在自己写的.m文件中,把一些不想让外部调用的属性放在延展里,这样这条属性只能在类的内部使用

外部用不了,尽最大的可能保护当前类的安全

类目一般都是给看不见.m的系统文件进行扩展,延展一般是针对自己的类进行操作



3.协议

1.声明一份协议

@protocol name <NSObject> //name表示协议的名字 

//协议的内容

//声明的方法

//@required是必须实现的方法,默认是必须实现的方法

//@optional是可选择执行的方法

2.设置代理人的属性

在@interface里面 

@property(nonatomic,assign)id<Marry>delegate;

//俩个人都写完协议之后,协议才正式的生效

声明一个方法

- (void)方法名;

3.让代理人去执行协议里的方法

去.m文件中用self.delegate找到代理人,去调用声明的方法

[self.delegate 方法名];

4,签协议

到代理人类中,引入头文件,然后签订协议

@interface 类名 :NSObject<Marry>

5,设置代理人

去main.c里去设置代理人,先创建两个类的对象

设置代理人:协议人对象.delegate=代理人对象;

[协议人对象 方法];

6.实现协议方法

去代理人类的.m文件中实现协议方法.










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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值