title: Init object with asynchronously downloaded data
body: <p>I have an object that needs to be initialised with data from network and doesn't really make sense without the downloaded data. But it seems to me that doing an asynchronous network call in its <code>init</code> method is not a good idea because the object will not be ready to user right away and it might cause confusion. Should I only use a basic <code>init</code> method that will <code>alloc init</code> all its properties to create an empty object, and have other (non-<code>init</code>) methods  populate the data from the network which will be called explicitly by other objects (such as the view controller using this object)? What would be a good way to approach this?</p>