协议传值

来源:互联网 发布:百度网站自然排名优化 编辑:程序博客网 时间:2024/06/07 06:14

创建两队Cocoa class文件
在这里我们建立了Girl.h Girl.m Boy.h Boy.m两对文件

1.声明协议
在Girl.h文件里
@protocol Marray
@required
- (void) makeMoney;
@optional
- (void)cook;
@end
注:这里面写协议的内容,协议方法的声明, 一共分为@required(需要,需求)@optional(可选择的)两种
@required:是必须实现的方法,如果不写是被系统默认的
@optional 是可选择执行的方法
2.设置代理人的属性:
这步在@interface Girl :NSObject 下写
@property (nonatomic, assign)iddelegate;
-(void)getMarry;

  1. 在Girl.m中实现代理人去执行的协议方法
    • (void)getMarry{
      [self.delegate makeMoney];
      }
      4.在Boy.h里引 #import “Girl.h” 头文件 , boy 需要签订协议
      @interface Boy : NSObject
      @end

5.设置代理人
在main.m中 先创建Boy 和Girl
Boy *yadang = [Boy alloc]init];
Girl *xiawa = [Girl alloc]init];
Man *man = [Man alloc]init];

6.在Boy.m中实现协议方法
-(void)makeMoney
{
NSLog(@”买东西”);
}

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

//输入两个日期,判断两个日期是否在同一个月
-(BOOL)isEqualTwoDate:(NSString *)otherDate;
//在.m中实现方法
//这个方法需要两个参数,第一个参数就是方法的调用者,谁调用这个方法那么在这个方法的内部self就是使用方法的那个对象
//先对字符串进行截取
NSString *monthOne = [self substringWithRange:NSMakeRang(5,2)];
NSString *monteTwo = [otherDate substringWithRange:NSMakeRang(5,2)];
return [monthOne isEqualToString:monteTwo];

//拼接两个日期
-(NSString )appendTwoDate:(NSString )otherDate;
-(NSString )appendTwoDate:(NSString )otherDate{
NSString *newDateOne = [self substringToIndex:16];
NSString *newDateTwo = [otherDate substringFromIndex:11];
NSString *str = [NSString stringWithFormat:@”%@-%@”,newDateOne,newDateTwo];
return str;
}

//给定两个时间,判断时间是否在这两个 时间区间内
-(BOOL)isInTimeZone:(NSString *)beginTime
end:(NSString *)endTime;
//在.m文件里
-(BOOL)isInTimeZone:(NSString *)beginTime
end:(NSString *)endTime
{
NSString *begin = [beginTime substringWithRange:NSMakeRange(8,2)];
NSString *end=[endTime substringWithRange:NSMakeRange(8,2)];
NSString *str = [self substringWithRange:NSMakeRange(8,2)];
return [begin integerValue] <=[str integerValue] && [str intergerValue]< = [end intergerValue];
}

//传过去一个字符串,返回一个时间的对象NSDate类型
-(NSDate *)stringToDate;

+(NSDate )stringToDate:(NSString )dateStr;
//在.m中实现方法
-(NSDate *)stringToDate
{
NSDateFormatter *date = [[NSDateFormatter alloc]init];
[date setDateFormat:@”yyyy-MM-dd HH-mm-ss”];
return [date dateFormString:self];
}

+(NSDate )stringToDate:(NSString )dateStr
{
NSDateFormatter *date = [[NSDateFormatter alloc]init];
[date setDateFormat:@”yyyy-MM-dd HH-mm-ss”];
return [date dateFromString:dateStr];
}

0 0