我有一个对象需要很长时间来做一些事情(它从服务器下载数据).
如何编写自己的完成块以便我可以运行…
- [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();