我有一个对象需要很长时间来做一些事情(它从服务器下载数据).
如何编写自己的完成块以便我可以运行…
[downloader doSomeLongThing:^(void) { //do something when it is finished }];
我不确定如何在下载程序对象中保存此块.
解决方法
您可以复制块然后调用它:
typedef void (^CallbackBlk)(); @property (copy) CallbackBlk cb; - (void)doSomething:(CallbackBlk)blk { self.cb = blk; // etc. } // when finished: self.cb();