协议传值
来源:互联网 发布:百度网站自然排名优化 编辑:程序博客网 时间: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;
- 在Girl.m中实现代理人去执行的协议方法
- (void)getMarry{
[self.delegate makeMoney];
}
4.在Boy.h里引 #import “Girl.h” 头文件 , boy 需要签订协议
@interface Boy : NSObject
@end
- (void)getMarry{
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];
}
- iOS 协议传值
- ios 协议传值
- 协议传值
- 协议传值
- 协议传值
- 界面传值(协议)
- 协议传值
- UI_协议传值
- 协议传值
- UI_协议传值
- iOS-协议传值
- 协议传值
- 协议、反向传值
- UI中协议传值
- IOS中协议传值
- iOS 代理协议传值
- 如何实现协议传值
- UITableView的协议传值
- 15分钟lua 练习
- 软件测试之常识篇 5
- android 线性布局LinearLayout 和 相对布局RelativeLayout
- 理解几种常见的进程间通信方式
- 我们的课程设计
- 协议传值
- HTML5 WebSocket的使用及例子
- ios bitcode问题
- Mac OS下 eclipse + tomcat 开发环境的搭建
- Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴)
- Linux proc读操作为什么会执行3次
- 国家分级保护规范要求解读
- 给一个DIV的右上解加一个删除按钮
- Ubuntu扁平主题