[问题] NSOperationQueue by order execute

楼主: valda (valda)   2015-07-19 03:34:12
请教一下关于NSOperationQueue的问题
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
NSOperation *done = [NSBlockOperation blockOperationWithBlock:^{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSLog(@"success");
}];
}];
NSOperation *op = [NSBlockOperation blockOperationWithBlock:^{
[self blockMethod1:^{
NSLog(@"method1 done");
}];
}];
[done addDependency:op];
[queue addOperation:done];
[queue addOperation:op];
我期望的结果是先print method1 done再print success出来
已经设定好done需要在op执行后再执行
但事与愿违
真正的结果是先print success再print method1 done
请问有哪里做错吗?
怎样才能修正回来呢?
感谢
作者: uranusjr (←這人是超級笨蛋)   2015-07-19 03:55:00
请给 blockMethod1 实作
楼主: valda (valda)   2015-07-19 04:03:00
blockMethod1是用AFNetworking call web api
作者: Crazyming411   2015-07-19 11:33:00
如同 uranusjr 提到,这与 blockMethod1 实作有关。简单实验了一下的结果,你可以参考看看:https://goo.gl/tf9rdu

Links booklink

Contact Us: admin [ a t ] ucptt.com