Итак, я пытаюсь передать два замыкания в функцию, которая создает подпредставление. Основная часть функции, которая принимает замыкания в качестве аргументов и вызывает их, выглядит следующим образом:
///goButton and cancelButton are class level variables
var goButton = UIButton(type: .system)
var cancelButton = UIButton(type: .system)
func addSubViewWithAction(_ titleString:String, _ button1Text:String, _ button2Text:String, closureYes:@escaping ()->(), closureNo:@escaping ()->()) {
goButton.actionHandle(controlEvents: UIControlEvents.touchUpInside,
ForAction:closureYes)
cancelButton.actionHandle(controlEvents: UIControlEvents.touchUpInside,
ForAction:closureNo)
}
вот как я пытаюсь это назвать.
addSubViewWithAction("Hide Penguin here?","Yes","Cancel", closureYes: switchPlayers, closureNo: deletePenquin)
Проблема в том, что она вызывает функцию deletePenguin для обеих кнопок и никогда не вызывает функцию switchPlayers.
вот как я добавляю кнопки в основной вид через подпредставление
//v here is a UIView object
//Add all buttons and text to subView
v.addSubview(titleField)
v.addSubview(goButton)
v.addSubview(cancelButton)
v.layer.cornerRadius = 8
//Add subView to main view
window.addSubview(v)