在iOS中创建自己的完成块 [英] Create my own completion blocks in iOS

查看:92
本文介绍了在iOS中创建自己的完成块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个对象需要花费很长时间才能做一些事情(它从服务器下载数据)。

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...

[downloader doSomeLongThing:^(void) {
    //do something when it is finished
}];

我不确定如何在下载程序对象中保存此块。

I'm not sure how to save this block in the downloader object.

推荐答案

您可以复制该块然后调用它:

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();

这篇关于在iOS中创建自己的完成块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆