我自定义了一个类,主要用来从服务器调取数据,并保存到本地,原来这些过程都在一个窗口。后来其他窗口也涉及到这些过程,绝大部分代码是相同的。所以想把这些过程包装到一个类里。现在的问题,我在窗口调用这个类的过程的时候,马上会执行窗口后面的过程。如何能让类里的过程都执行完毕后,再执行后面的过程?

解决方案 »

  1.   

    你是异步处理的是吧。可以在你的类中定义一个回调函数,在类中可以定义delegate 或 block 来实现。首先在类中你要捕获到线程已经处理完毕的时机,如果有结果返回,也可以通过回调函数返回给调用者。窗口后面的操作都放的这个block中,这样就能保证是在类处理完毕后而执行的后面的操作。
      

  2.   

    回调就很简单了,delegate的方式你应该不会陌生吧?像UITableView、UIAlertView都是采用了delegate的;block回调你看看这个:http://blog.csdn.net/itpeng523/article/details/24315541;另外还有通知,不过通知是1对多的关系,你只有一个页面依赖的话,用delegate和block就行了