Я искал решение этой проблемы, даже пытался следовать нескольким учебникам, чтобы попытаться решить эту проблему, но по какой-то причине я столкнулся с той же проблемой.Я пытаюсь передать пользовательский объект другому контроллеру представления, но каждый раз, когда я пытаюсь, я получаю ошибку "Значение типа 'UIViewController' не имеет члена 'newExerciseDelegate'"
Мой делегат:
protocol exerciseDelegate {
func savedExercise(newExercise: Exercise)
}
мой отправляющий VC использует следующий код:
var newExerciseDelegate: exerciseDelegate!
.
.
.
@IBAction func saveExerciseWasPressed(_ sender: UIButton) {
if (checkFields() == true){
newExercise = Exercise(name: exerciseNameField.text!, weight: Int32(weightField.text!)!, reps: Int32(numberOfRepsField.text!)!, sets: Int32(numberOfSetsField.text!)!, muscleGroupFocus: .cardio)
newExerciseDelegate.savedExercise(newExercise: newExercise)
dismiss(animated: false, completion: nil)
}
}
Мой принимающий VC использует следующий код:
@IBAction func addExerciseBtnWasPressed(_ sender: Any) {
guard let newExerciseVC = storyboard?.instantiateViewController(withIdentifier: "NewExerciseVC") else { return }
newExerciseVC.newExerciseDelegate = self // error present on this line
presentDetail(newExerciseVC)
}
I'mКонечно, это глупая ошибка, но я ее не вижу.Любая помощь приветствуется, спасибо.