- (void)start;
- (void)main;
start和main.
按照官方文档所说,如果是非并发就使用main,并发就使用start。
那现在并发和非并发已经没有区别了,start和main的区别在哪里呢?
main方法的话,如果main方法执行完毕,那么整个operation就会从队列中被移除。如果你是一个自定义的operation并且它是某些类的代理,这些类恰好有异步方法,这是就会找不到代理导致程序出错了。
然而start方法就算执行完毕,它的finish属性也不会变,因此你可以控制这个operation的生命周期了。
然后在任务完成之后手动cancel掉这个operation即可。