I have an object which takes a long time to do some stuff (it downloads data from a server).
How can I write my own completion block so that I can run...
<
You can copy the block then invoke it:
typedef void (^CallbackBlk)(); @property (copy) CallbackBlk cb; - (void)doSomething:(CallbackBlk)blk { self.cb = blk; // etc. } // when finished: self.cb();