我无法遵守委托并在两个视图控制器之间传递信息。我似乎无法理解我做错了什么。我希望能够从CustomCell VC中的一个分段控件传递信息,以便在CreateEvent VC中点击按钮后接收并显示它。以下是相关代码:
CustomCell 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")
}
}
}
CreateEvent VC:
protocol CreateEventVCDelegate {
func sendageDescriptiongetData(ageDescription: String)
}
class CreateEventVC: UIViewController {
var delegate: CreateEventVCDelegate?
@IBAction func saveButtonTapped(sender: UIBarButtonItem) {
var ageDescription = ""
delegate!.sendageDescriptiongetData(ageDescription)
}
}
答案 0 :(得分:0)
我认为你的问题是你需要CreateEventVC
内CustomCell
的实例,所以你可以写:
createEventVC.delegate = self
在CustomCell
内。
无论如何,我认为你不需要代表团,如果CustomCell
内有CreateEventVC
个实例,你可以从CreateEventVC
调用CreateEventVC
的公共/内部函数}:
cell.sendageDesciptiongetData(data)
答案 1 :(得分:0)
好像你有一个错字:
CustomCell
方法
func sendageDesciptiongetData(data:String)
而不是
func sendageDescriptiongetData(data:String)