In my little experience I noticed that creating two or more Interface Controller (IC) for a WatchKit app, the AppleWatch start to load the next interface before the user swipe to it. This could be useful for system performances, but then there is something confusing me. For what I have understood each IC should have its own WCSession to communicate with the paired iPhone, but I'm starting thinking this is not true because debugging I saw that if for example the first IC use sendMessage to send a request, the answer is received by the didReceiveMessage of the second IC not the first IC. I didn't tried it yet, but maybe I should create the WCSession only in the first IC, and also if I am on another IC the app fire it in the didReceiveMessage of the first. If this is right, how can I do something in the second IC when a message arrives? In WatchKit I don't think I can use Observers. Can someone clarify me this, please?
Doing some more search over internet I've found this: http://www.sneakycrab.com/blog/2015/5/26/wkinterfacecontroller-lifecycle-in-watchos-101 This is the confirmation about the preload of IC, that still the same also in WatchOS 2.