iOS OC07.2_类的扩展
来源:互联网 发布:淘宝登录页面网页制作 编辑:程序博客网 时间:2024/06/18 14:03
类目
//1.系统已经写好的类目:按照功能对系统的类方法进行区分 //leimucong@interface开始,后面是当前类的名字,类名后面是分类的功能,到@end结束 //2.我们创建的类目,一般是为了把系统的类进行功能扩充
// NSString *str=@"2015-07-12 10:00:00";// NSString *str2=@"2015-07-12 09:00:00";//// [str sayHi];// //// BOOL isTrue=[str2 isEqualTwoDate:str];// // // if ([str2 isEqualToString:str]) {// NSLog(@"月份相同");// }else{// NSLog(@"月份不同");// }// // // NSString *newTime=[str appendTwoDate: str2];// NSLog(@"%@",newTime);// // NSDate *date=[str stringToDate];// NSLog(@"%@",date);// // NSDate *date1=[NSString stringToDate:str];// NSLog(@"%@",date1);
NSString+StringMethod.h
//// NSString+StringMethod.h// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import <Foundation/Foundation.h>@interface NSString (StringMethod)-(void)sayHi;//输入两个日期,判断两个日期是否在同一个月-(BOOL)isEqualTwoDate:(NSString *)otherDate;//拼接日期-(NSString *)appendTwoDate:(NSString *)otherDate;//给定两个时间,判断时间是否在这两个区间内-(BOOL)isInTimeZone:(NSString *)beginTime end:(NSString *)endTime;-(NSDate *)stringToDate;+(NSDate *)stringToDate:(NSString *)dateStr;@end
“NSString+StringMethod.h”
//// NSString+StringMethod.m// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import "NSString+StringMethod.h"@implementation NSString (StringMethod)-(void)sayHi{ NSLog(@"你好");}-(BOOL)isEqualTwoDate:(NSString *)otherDate{ //这个方法需要两个参数,第一个参数就是方法的调用者,谁调用了这个方法,那么在这个方法的内部,self就是使用方法的那个对象// NSLog(@"%@",self); //进行截取 NSRange range={5,2}; NSString *str1=[self substringWithRange:range]; NSString *str2= [otherDate substringWithRange:range]; return [str1 isEqualToString:str2];}-(NSString *)appendTwoDate:(NSString *)otherDate{ NSString *endTime=[otherDate substringFromIndex:10]; return [self stringByAppendingString:endTime];}-(BOOL)isInTimeZone:(NSString *)beginTime end:(NSString *)endTime{ return YES;} //传过去一个字符串,返回一个时间的对象NSDate类型-(NSDate *)stringToDate{ //设置格式 NSDateFormatter *formatter=[[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; return [formatter dateFromString:self];}+(NSDate *)stringToDate:(NSString *)dateStr{ NSDateFormatter *formatter=[[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; return [formatter dateFromString:dateStr];}@end
延展
Girl.h(1)
//// Girl.h// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import <Foundation/Foundation.h>// 1.声明一份协议// @protocol 协议的关键词@protocol Marry <NSObject>// 协议的内容// 协议方法的声明// required是必须实现的方法,默认是必须实现的方法// optional是可选择执行的方法@required-(void)makeMoney;@optional-(void)cook;@end@interface Girl : NSObject// 2.设置代理人的属性@property(nonatomic,assign)id<Marry>delegate;// 两个人结婚之后,协议才正式生效-(void)getMarry;@end
Girl.m(2)(3)
//// Girl.m// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import "Girl.h"@implementation Girl-(void)getMarry { // 3.让代理人去执行协议里的方法 [self.delegate makeMoney];}@end
Boy.h(4)
//// Boy.h// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import <Foundation/Foundation.h>#import "Girl.h"// 4.引完头文件之后,BOY需要签订协议@interface Boy : NSObject<Marry>@end
main.m(5)
//创建两个小人// Boy *yadang=[[Boy alloc] init];// Girl *xiawa=[[Girl alloc] init];// //5.设置代理人// xiawa.delegate = yadang;// // 通过调用结婚的方法,来执行内部协议的方法// [xiawa getMarry];
Boy.m(6)
//// Boy.m// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import "Boy.h"@implementation Boy//6.实现协议方法makeMarry-(void)makeMoney{ NSLog(@"买买买");}@end
设置新代理人
Man.h
//// Man.h// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import <Foundation/Foundation.h>#import "Girl.h"// 签订协议@interface Man : NSObject<Marry>@end
Man.m
//// Man.m// OC07_类的扩展//// Created by dllo on 15/7/24.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import "Man.h"@implementation Man-(void)makeMoney{ NSLog(@"花花花");}@end
main.m
Man *wangliqian=[[Man alloc] init];// //设置代理人// xiawa.delegate=wangliqian;// [xiawa getMarry];
0 0
- iOS OC07.2_类的扩展
- iOS学习笔记基础-oc07内存管理的其他部分
- iOS的类的扩展
- IOS 类的扩展应用
- IOS常用的扩展类
- iOS - 类扩展与分类的区别
- iOS - 类扩展与分类的区别
- iOS - 类扩展与分类的区别
- iOS类的扩展与继承、概念
- iOS类别可以扩展类的属性
- iOS属性的扩展
- iOS 之类的扩展
- iOS类别的扩展
- ios属性的扩展
- POJ_1061_青蛙的约会_扩展欧基里德
- POJ1061_青蛙的约会_扩展欧几里得
- ios扩展的一些知识点
- iOS给UIButton的扩展
- Linux设备驱动中的中断处理
- Linux的常用命令(2) - 关机
- 数据结构浅析(二)
- HDU2883.kebab
- RNN以及LSTM的介绍和公式梳理
- iOS OC07.2_类的扩展
- 最简单的基于FFmpeg的移动端例子:Android 视频转码器
- C - The C Answer (2nd Edition) - Exercise 1-15
- Linux目录结构
- 分布式网络爬虫Nutch中文教程nutcher(JAVA)
- 【Android归纳】Activity启动模式
- uva536_树的重建(由先序,中序历遍推出后续历遍)
- Unity基于TCP/IP的小聊天室实现
- angular js与jQuery不兼容的问题