[CARPLAY] Setting interfaceController to nil

Hello.

In CarPlay programming guide code example, we set the interfaceController property to nil in the didDisconnect method.

 // CarPlay disconnected
 func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene,
 didDisconnect interfaceController: CPInterfaceController) {
 self.interfaceController = nil
 }
}

However it's not explained why we need this. moreover when we debug we see clearly that the interfaceController is released from memory normally without needing to set it to nil.

Does anyone has an explanation for that ?

Hi there, interfaceController in this example is a property on your template application scene delegate, something private to your app. This is example code that demonstrates that, at disconnect time, it is safe to nil out that property.

[CARPLAY] Setting interfaceController to nil
 
 
Q