将 UITableViewCell 引用传递给其他 VC 使其消失

Posted

技术标签:

【中文标题】将 UITableViewCell 引用传递给其他 VC 使其消失【英文标题】:Passing UITableViewCell reference to other VC making it disappear 【发布时间】:2016-12-21 08:05:39 【问题描述】:

我正在做类似于whatsapp消息信息的事情,当将右侧聊天气泡拖到左侧时,它会在另一个VC中显示消息信息。

我复制了这个功能并将单元格的引用传递给了下一个 VC。

但是当我回来时,我通过的参考单元格消失了,当上下滚动或刷新表格时,它会再次出现。

为什么会发生这种情况我只是传递参考。

【问题讨论】:

你通过了引用然后消失了你解除分配了吗?我相信只要它是一个引用,你对它所做的一切都会被复制到主对象中。除非它是该对象的副本。 @Joshua 不,我没有取消分配,当 Cell 出现在下一个 VC 上时会发生这种情况,如果我不在新 VC 上显示它,它会保持不变。 你能展示一些关于你如何传递参考的代码吗?以及如何关闭正在显示单元格的 vc 【参考方案1】:

如果您使用 addSubview: 在新视图中显示单元格(与 tableview 相同的单元格),则该视图(单元格)将从其先前的超级视图中消失。一个视图只能有一个超级视图。 IOW,一个视图只能在一个地方。

不要在下一个场景中显示单元格(视图控制器)。而是构建一个类似于原始视图(或单元格)的新视图。

顺便说一句,不要将单元格传递给下一个 VC。这不是一个好习惯。尝试将数据传递给视图控制器,而不是依赖于其他视图控制器的视图。

【讨论】:

以上是关于将 UITableViewCell 引用传递给其他 VC 使其消失的主要内容,如果未能解决你的问题,请参考以下文章

为啥 PHP 在一种情况下允许将文字传递给按引用传递的参数,而在其他情况下不允许?

将 UICollectionView 触摸事件传递给其父 UITableViewCell

将正确的图像传递给 uitableviewcell 的问题

将 CoreData 从 UITableViewCell 传递给 viewcontroller

从 UIViewController 将变量传递给自定义 UITableViewCell

(iOS + Firebase)无法将图像从 UITableViewCell 传递给下一个 ViewController