好久没写iOS项目了,今天记录一下简单的界面传值之代理方法
1.委托者的.h文件中的代理指定以及声明
@protocol RSBBeenAddTableViewCellDelegate <NSObject>
-(void)RSBBeenAddTableViewCellChange;
@end
@interface RSBBeenAddTableViewCell : UITableViewCell
// 在这里定义一个属性,注意这里的修饰词要用weak
@property(nonatomic, weak)id<RSBBeenAddTableViewCellDelegate>CellDelegate;
@end
2.委托者的.m文件中调用代理中的方法
-(void)CellDelegateMethods{
// 这里的self.leftBodyCellDelegate是判断一下控制器有没有遵守协议设置代理
//[self.leftBodyCellDelegate respondsToSelector:@selector(selectedItemButton:)]这个是判断有没有实现这个代理方法
//// 当两个条件都满足了就可以调用代理方法了
if (self.CellDelegate && [self.CellDelegate respondsToSelector:@selector(RSBBeenAddTableViewCellChange)])
{
//调用代理方法
[self.CellDelegate RSBBeenAddTableViewCellChange];
}
}
3.代理控制器中的代码
@interface RSBBeenAddViewController ()<UITableViewDelegate,UITableViewDataSource,RSBBeenAddTableViewCellDelegate>
cell.CellDelegate = self;
4.实现协议中规定的方法了
#pragma mark RSBBeenAddTableViewCellDelegate
-(void)RSBBeenAddTableViewCellChange{
self.arrayNumber--;
[self.beenAddTableView reloadData];
}
最后,感慨一下!砖还是要坚持、持续的搬,几天不搬,搬砖的工具就可能不兼容了。因为砖一直在更新变化!
网友评论