IOS 自定义代理协议Delegate

news/2025/1/26 15:21:15/

QuestionViewCell.h文件代码,定义代理协议

@protocol QuestionViewCellDelegate <NSObject>- (void)cellIsOpenDidChangeAtIndexPath:(NSIndexPath *)indexPath;@end@interface QuestionViewCell : UITableViewCell@property (nonatomic, weak) id<QuestionViewCellDelegate> delegate;@end

QuestionViewCell.m文件调用代理代码


#import "QuestionViewCell.h"@interface QuestionViewCell ()@end@implementation QuestionViewCell- (void)awakeFromNib {[super awakeFromNib];[FontSizeUtil setupWidgets:@[self.titleLabel, self.contentLabel]pingfangWithFontSizes:@[@12, @11]];
}- (IBAction)openClickAction:(id)sender {if (self.delegate && [self.delegate respondsToSelector:@selector(cellIsOpenDidChangeAtIndexPath:)]) {[self.delegate cellIsOpenDidChangeAtIndexPath:self.indexPath];}
}@end

UITableView设置代理对象

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {、QuestionViewCell *cell = [tableView dequeue:QuestionViewCell.class forIndexPath:indexPath];cell.indexPath = indexPath;cell.delegate = self;return cell;
}

ViewController.m 委托者实现代理协议

@interface TestViewController ()
<QuestionViewCellDelegate,
UITableViewDelegate,
UITableViewDataSource>
@end@implementation TestViewController#pragma mark - QuestionViewCellDelegate- (void)cellIsOpenDidChangeAtIndexPath:(NSIndexPath *)indexPath {//刷新Row行[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}@end


http://www.ppmy.cn/news/1566340.html

相关文章

记一次Linux共享内存段排除Bug:key值为0x0000000的共享内存段删除不了

本文目录 一、问题情况二、解决方法2.1 通过kill命令删除2.2 通过程序删除 一、问题情况 今天查看共享内存段发现好多共享内存段&#xff0c;而且命令ipcrm -m <shmid>删除不了。 回想了一下&#xff0c;应该是有一些程序跑while循环&#xff0c;或者死循环&#xff0c…

(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)

一、平滑发布与灰度发布 **什么叫平滑&#xff1a;**在发布的过程中不影响用户的使用&#xff0c;系统不会因发布而暂停对外服务&#xff0c;不会造成用户短暂性无法访问&#xff1b; **什么叫灰度&#xff1a;**发布后让部分用户使用新版本&#xff0c;其它用户使用旧版本&am…

GeoJSON 数据

一、GeoJSON 数据的概述 GeoJSON 是一种基于 JSON 格式的地理信息数据交换格式&#xff0c;它用于表示地理要素及其属性。GeoJSON 可以用来描述点、线、面等几何形状&#xff0c;并且可以为这些几何形状添加额外的属性信息&#xff0c;被广泛应用于地理信息系统&#xff08;GI…

Kafka 消费端反复 Rebalance: `Attempt to heartbeat failed since group is rebalancing`

文章目录 Kafka 消费端反复 Rebalance: Attempt to heartbeat failed since group is rebalancing1. Rebalance 过程概述2. 错误原因分析2.1 消费者组频繁加入或退出2.1.1 消费者故障导致频繁重启2.1.2. 消费者加入和退出导致的 Rebalance2.1.3 消费者心跳超时导致的 Rebalance…

7.渲染管线——几何阶段的概述

几何阶段是渲染管线中的一个重要部分&#xff0c;主要负责处理3D模型的几何信息&#xff08;比如顶点位置、形状、大小等&#xff09;&#xff0c;并将它们转换为屏幕上的2D图像。用通俗易懂的方式来解释&#xff1a; 通俗解释&#xff1a;几何阶段就像把3D模型“拍扁”成2D照片…

我的创作纪念日——1/23

机缘 想起写博客&#xff0c;其实是当时看鹏哥C语言时&#xff0c;他说通过写博客的方式来记录自己学习过程&#xff0c;有利于提升自己。尽管我只看了几集就没怎么看&#xff0c;但是写博客的习惯保留下来。 至于为什么&#xff0c;一方面单纯当作单个代码库&#xff0c;把自…

Linux权限有关

文章目录 一、添加普通用户二、Xshell下命令行的知识三、 Linux和Windows操作系统四、再探指令和Linux权限五、用户相关用户切换: 今天我们学习与Linux有关的权限等内容&#xff0c;以及一些零碎知识帮助我们理解Linux的系统和Xshell的原理。 本篇是在Xshell环境下执行的。 一…

存储过程优化实践:统一返回结构、参数 JSON 化与事务原子化

存储过程作为数据库中执行复杂业务逻辑的重要工具&#xff0c;在提升性能、保障数据一致性和简化维护方面发挥着重要作用。然而&#xff0c;随着应用程序和数据的复杂度不断增加&#xff0c;存储过程也面临着性能瓶颈、维护难度和扩展性问题。为了应对这些挑战&#xff0c;优化…