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
原创粉丝点击