美文网首页
iOS 代理方法简单实现

iOS 代理方法简单实现

作者: iOS开发小学生 | 来源:发表于2021-05-20 17:02 被阅读0次

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

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

    相关文章

      网友评论

          本文标题:iOS 代理方法简单实现

          本文链接:https://www.haomeiwen.com/subject/evrbjltx.html