ios 设置委托delegate

为了进行页面传值,也可以用委托的方法。

下面以时间控件为例。

1.首先,在.h 文件设置委托

#import <UIKit/UIKit.h>

@protocol DatePickerViewDelegate;

@class DatePickerView;
@interface DatePickerView :UIView

@property (strong, nonatomic) NSString      *dateContent;
@property (strong, nonatomic) UIDatePicker *datePicker;
@property (assign, nonatomic) id<DatePickerViewDelegate> delegate;

-(void)show;
@end

@protocol DatePickerViewDelegate <NSObject>
-(void)datePicker:(DatePickerView *)pickerView Picked:(NSDate *)date; //定义方法
@end

2.然后在.m文件设定委托传值

-(void)setBtnAction:(id)sender
{
    [_delegate datePicker:self Picked:self.datePicker.date];  //一定要执行,要不然不会触发下面的,方法-(void)datePicker:(DatePickerView *)pickerView Picked:(NSDate *)date;
}

3.在其他页面设置委托
在.m文件中添加

@interfaceQuQueryViewController () <DatePickerViewDelegate>

@end

1.然后设置委托

DatePickerView *datePicker = [[DatePickerView alloc]init]; //先事实例化
datePicker.delegate = self;  //设置委托
datePicker.flag = sender;
[datePicker show];

2.最后实现方法

-(void)datePicker:(DatePickerView *)pickerView Picked:(NSDate *)date;
{
       date为我们要获得的值。
}
原文地址:https://www.cnblogs.com/lihaibo-Leao/p/3257113.html