iOS 代理方法简单实现

2021-05-20  本文已影响0人  iOS开发小学生

好久没写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];
    
}

最后,感慨一下!砖还是要坚持、持续的搬,几天不搬,搬砖的工具就可能不兼容了。因为砖一直在更新变化!

上一篇下一篇

猜你喜欢

热点阅读