我有以下几点:
我为该单元格使用了一个.xib文件,它是一个CustomCell
子类。此自定义单元为单元按钮上的某些触摸事件处理IBAction。
我想从单元格中引用ViewController及其一些变量。
我应该如何从UITableViewCell类访问UITableViewController?
我不会在单元和视图控制器之间创建这种依赖关系-这会使体系结构更加复杂,并且单元不可重用。
我建议您使用委派模式,这听起来可能有些复杂-尽管您已经在使用(这UITableViewDelegate
是一个典型示例):
MyCellProtocol
使用一种方法创建协议didTapCell
,接受UITableViewCell
要传递给视图控制器的和/或一些自定义数据weak var cellDelegate: MyCellProtocol?
didTapXXX
处理程序或didSelectRowAtIndexPath
您的单元格中,调用self.cellDelegate?.didTapCell()
,传递期望的参数MyCellProtocol
cellForRowAtIndexPath
您的视图控制器中,当创建/使单元出队时,将其cellDelegate
属性设置为self
此时,在单元格中轻按时,将didTapCell
调用视图控制器的方法,然后您就可以执行所需的任何操作。
关键是:而不是让单元处理单元的轻击/选择,而是通知视图控制器并让其完成工作。
问题内容: 我正在扩展ArrayList来创建一个自定义ArrayList,可以在迭代它的同时使用常规ArrayList方法进行修改。为此,我还要创建一个迭代器。 在我的hasNext()和next()方法期间,我需要确保列表没有被修改(可以在任何其他时间修改)。因此,我需要在我的shared()块中引用我的封闭类型。 问题答案: 。因此,在您的情况下,它将为。
问题内容: 我正在尝试向自定义添加提醒,以提出一个我需要从调用presentViewController的提示。但是,我不知道如何从该类访问当前实例。下面的代码是我尝试使用扩展名进行的操作。 我得到这个错误 表达式解析为未使用的函数。 问题答案: 您可以使用此扩展来查找显示单元格的viewController 或用于呈现: Swift 4.2更新 或用于呈现:
我有一个标准的JavaFX应用程序:
我想添加一个自定义的实现到一个。 如果一个本身就是一个,我可以使用视图控制器包含,但它不是。 现在我能做的最好的事情就是将选项卡栏的视图添加到中单元格的: 问题是单元格仅显示的视图,而不显示控件本身。 如何在中显示整个?
对未定义设置的引用: {.}/compile:sourceManaged from{.}/compile:generateConfiguration(...web/project/build.scala:19)您是指compile:sourceManaged吗? {.}/compile:sourceGenerators来自{.}/compile:sourceGenerators(...web/pr
问题内容: 我有一个使用自定义方法连接到xib 的子类。 有没有办法可以在方法中初始化此单元格并仍然重用它?还是我必须使用重用标识符注册类本身? 问题答案: 惯用的NIB流程为: 使用重用标识符注册您的NIB。在Swift 3中 } 在Swift 2中: 定义您的自定义单元格类: class NameInput: UITableViewCell { } 在Interface Builder中创建一