您的位置:首页 > 移动开发 > IOS开发

iOS 委托 协议

2016-04-27 10:43 295 查看
委托一般都是下级委托上级  上级来获取下级的一些信息,是消息传递的一种形式。委托传的参数,是要传出去的数据,在设置委托对象的类里的委托协议方法的参数就是委托传的数据。

1.在下级的头文件里创建委托delegate,一般都是类名加Delegate的名字。在下级的类里设置委托,在下级实现的类里需要传数据出去的时候调用委托,把数据当成委托方法的参数。如下:

#import <UIKit/UIKit.h>

#pragma mark 协议 
游戏结束触发的方法  用来改变监听结束的方法

@protocol NumberGameViewControllerDelegate <NSObject>

//游戏结束的方法

-(void)gameDidFinished:(NSString *)time;

@end

@interface NumberGameViewController :
UIViewController<UIAlertViewDelegate>{

    NSMutableArray *numbersArray;

}

#pragma mark 定义代理

@property(weak,nonatomic)
id<NumberGameViewControllerDelegate> delegate;

//这是存放随机数的数组

@property(nonatomic,strong)NSMutableArray *numbersArray;

在完成某些操作之后需要触发协议的时候,调用协议的方法  如下  参数就是要穿的数据

[_delegate
gameDidFinished:_showTime.text];

2.在上级类里设置delegate对象是自己,实现委托的协议方法,协议的方法的参数就是下级类里调用的时候传递的参数。当下级走到调用委托方法的时候,即触发了我们监听的协议,获取传的数据来处理。  time就是下级调用协议的时候传的数据。

-(void)gameDidFinished:(NSString *)time{

    NSLog(@"游戏结束  
游戏花的时间是: %@ ",time);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: