我无法遵从委托并在两个视图控制器之间传递信息。我好像不明白我做错了什么。我希望能够从CustomCell VC中的一个分段控件传递信息,以便在CreateEvent VC中点击按钮后接收和显示该控件。以下是相关代码:
自定义单元格VC:

 class CustomCell: CreateEventVCDelegate {

      var ageDescription : String = String() // setup global variable

      func sendageDesciptiongetData(data:String) {
          print(ageDescription)
      }

      @IBAction func ageChanged(sender: UISegmentedControl) {
          switch age.selectedSegmentIndex {
          case 0:
               print("Under 18")
               var ageDescription = "under 18"
          case 1:
               print("Over 18")
               var ageDescription = "over 18"
          case 2:
               print("Strictly over 21")
               var ageDescription = "strictly over 21"
          default:
               print("Other")

    }

}

 }

创建事件VC:
 protocol CreateEventVCDelegate {
      func sendageDescriptiongetData(ageDescription: String)
 }

 class CreateEventVC: UIViewController {

      var delegate: CreateEventVCDelegate?

      @IBAction func saveButtonTapped(sender: UIBarButtonItem) {
           var ageDescription = ""

           delegate!.sendageDescriptiongetData(ageDescription)


      }

}

最佳答案

我认为你的问题是你需要一个CreateEventVCCustomCell内部的实例,这样你就可以写:

createEventVC.delegate = self

内部CustomCell
无论如何,我认为您不需要委派,如果您在CustomCell内部有一个CreateEventVC的实例,您可以从CreateEventVC调用CreateEventVC的公共/内部函数:
cell.sendageDesciptiongetData(data)

09-11 19:32