I have wrestled this question a lot, could not find a concrete answer. I have a singleton(audio player), that I must persist throughout app. My app plays audio, which makes it difficult to predict when app is terminated, since it plays audio in background. Inside my singlton deinit(), I have to do clean i.e release any bufferes associated with my player.
So to summarize what I am asking is if an object always has reference count of 1, will denint() still be called?