didSelectRowAtIndexPath 与自定义单元格

Posted

技术标签:

【中文标题】didSelectRowAtIndexPath 与自定义单元格【英文标题】:didSelectRowAtIndexPath With Custom Cell 【发布时间】:2013-12-18 19:30:16 【问题描述】:

我已将 UITableViewCell 子类化以创建自定义单元格。在 ViewController 上,我添加了 UITableView 和原型单元格。我的自定义单元格出现并且工作正常。

但是在我的 didSelectRowAtIndexPath 和 didDeselectRowAtIndexPath 方法中出现了一个警告,我无法摆脱它。

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath 

MVGoalTVCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = cell.txtBox.text;

LogInfo(@"DESELECTED: %@", cellText);



-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

MVGoalTVCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = cell.txtBox.text;

LogInfo(@"SELECTED: %@", cellText);


警告出现在一行:

MVGoalTVCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];

我在 MVGoalTVCell 中引用我的自定义单元格。

出现的警告如下:

使用“UITableViewCell *”类型的表达式初始化“MVGoalTVCell *”的不兼容指针类型

如何解决此警告?

【问题讨论】:

【参考方案1】:

使用类型转换来修复警告。

MVGoalTVCell *cell = (MVGoalTVCell *)[self.tableView cellForRowAtIndexPath:indexPath];

【讨论】:

修复了它。谢谢@hv88。

以上是关于didSelectRowAtIndexPath 与自定义单元格的主要内容,如果未能解决你的问题,请参考以下文章

UITableView添加UITapGestureRecognizer与didSelectRowAtIndexPath冲突解决方法

Xcode 8 / Swift 3:didSelectRowAt 与 didSelectRowAtIndexPath

UITableView didSelectRowAtIndexPath ,与部分行中显示的值不同!

didSelectRowAtIndexPath 没有被调用?

didSelectRowAtIndexPath 错误的 NSIndexPath

如何在 UITableview 的 didSelectRowAtIndexPath 中实现动作?