Пытаюсь изменить label из другого контроллера. То есть у меня есть первый контроллер, в который я перенес container view и отобразил второй контроллер.
В 1 контроллере
создал переменную
var delegate:CurrentTrackDelegate?
и сам протокол
protocol CurrentTrackDelegate
{
func changeCN(_ name: String)
}
и изменяю это так
delegate?.changeCN(“heeeeellloo”)
ВО втором контроллере
import Foundation
import UIKit
class CurrentTrackVC: UIViewController {
@IBOutlet weak var curentName: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
print("NO")
guard segue.identifier == "second" else { return }
guard let destination = segue.destination as? MainPlayerVC else { return }
destination.delegate = self
print("OK")
}
}
extension CurrentTrackVC: CurrentTrackDelegate {
func changeCN(_ name: String) {
curentName.text = name
print(“workk”)
}
}
и ничего не меняется,
delegate?.changeCN(“heeeeellloo”) это делается в функции, функция вызывается нормально