There is no direct communication between an app extension and its containing app; typically, the containing app isnt even running while a contained extension is running. An app extensions containing app and the host app dont communicate at all.
In a typical request/response transaction, the system opens an app extension on behalf of a host app, conveying data in an extension context provided by the host. The extension displays a user interface, performs some work, and, if appropriate for the extensions purpose, returns data to the host.