If this is an introduction, can you please go into more detail starting from the ground up (without, of course, starting in basic math nor "How to launch a XCode"

)? That is, if someone has a little experience programming: What is a singleton, specifically? How does it share data (mechanically, specifically speaking)? That sort of stuff. A FAQ, if you will. THANKS!