Ваша проблема в том, что это
var delegate : VideoCallDelegate?
равно nil
, поэтому при вызове этого
delegate?.videoCallLog(name: channelName, number: otherUserNumber)
ничего не происходит, поэтому убедитесь, что вы установили этот делегат, прежде чем использовать его дляfirstVC, плюс, если вы принудительно развернете, то лучше объявить это с самого начала
func videoCallLog(name : String, number: String)
Edit 1: , когда вы показываете второй VC из ContainerCallVC
,такая строка должна быть
let secondVc = //
secondVc.delegate = self
независимо от того, как вы ее представляете, push / segue / present
Изменить 2 :
здесья полагаю, что вызов находится на вкладке 2 внутри viewDidLoad
первой вкладки до
let call = self.tabBarController!.viewControllers[1] as! VideoCallVC
call.delegate = self