类目
//1.系统已经写好的类目:按照功能对系统的类方法进行区分
//[email protected]开始,后面是当前类的名字,类名后面是分类的功能,到@end结束
//2.我们创建的类目,一般是为了把系统的类进行功能扩充
// NSString *[email protected]"2015-07-12 10:00:00";
// NSString *[email protected]"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];
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-14 05:47:23