【发布时间】:2018-02-25 22:35:02
【问题描述】:
我有一个单元格,我在许多不同的 vc 中使用,因为我的应用程序分为不同的类别,但都使用相同的单元格。
现在我有一个按钮,它应该触发事件以通过 whastapp 或 facebook 等其他应用程序共享它。 问题在于,根据您所在的类别,您有一个不同的视图控制器来显示该功能。 我可以让它在一个单元格中使用一个但不能使用 10 个不同的 vc。
我使用了一个扩展来获取 parentviewController
extension UIView {
var parentViewController: HomeViewController? {
var parentResponder: UIResponder? = self
while parentResponder != nil {
parentResponder = parentResponder!.next
if parentResponder is UIViewController {
return parentResponder as! HomeViewController!
}
}
return nil
}
这显然只适用于 Home vc。
我该如何解决这个问题?
【问题讨论】:
-
你应该从你的 UIViewController 控制你的 UIViews,而不是相反。这是一个非常糟糕的 hack,你真的不应该使用它。
-
请告诉我如何
-
我必须了解您的架构才能提供帮助,抱歉
-
我可以在 cellForRow 分配它吗? cell.parentVc = HomeviewController()。 ?
-
您的单元格应该有一个单一的职责,即在屏幕上显示其信息。它不应该知道它的父级。
标签: swift alert uiactivityviewcontroller parentviewcontroller