/第一步
写一个代理:
#import <UIKit/UIKit.h>
@class FLFriendViewgroup, FLHeadView;
/**
* 写一个代理(java写一个接口)
*/
@protocol FLHeadViewDelegate <NSObject>
@optional
- (void)headViewDidClickedNameView:(FLHeadView *) headView;
@end
@interface FLHeadView : UITableViewHeaderFooterView
/**
* 写一个代理方法(将接口写到方法中)
*/
@property(nonatomic, weak) id<FLHeadViewDelegate> delegate;
@end
/第二步
在监听器里面调用接口程序,这里一定先判断对应的是否实现了这个接口,就是JAVA中的 if(listener != null )
/**
* 监听按钮点击
*/
- (void)nameViewClick
{
//1、刷新表格,这里刷新UiTableView用控制器干的事,因此交给控制器,怎么交过去?? 代理
if ([self.delegate respondsToSelector:@selector(headViewDidClickedNameView:)]) {
[self.delegate headViewDidClickedNameView:self];
}
}
/第三步
实现监听,这里就是回调
1\将控制器成为代理
headView.delegate = self;
2\实现代理, 遵守代理
@interface ViewController () <FLHeadViewDelegate>
3\实现代理方法
#pragma mark - headView代理方法
/**
* 点击headview上面的名字按钮就会调用
*/
- (void)headViewDidClickedNameView:(FLHeadView *)headView
{
[self.tableView reloadData];
}
写一个代理(java写一个接口)
最新推荐文章于 2024-04-18 15:31:42 发布