作者valda (valda)
看板MacDev
标题[问题] NSOperationQueue by order execute
时间Sun Jul 19 03:34:12 2015
请教一下关於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
请问有哪里做错吗?
怎样才能修正回来呢?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.200.200
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1437248054.A.AEF.html
1F:→ uranusjr: 请给 blockMethod1 实作 07/19 03:55
2F:→ valda: blockMethod1是用AFNetworking call web api 07/19 04:03
3F:→ Crazyming411: 如同 uranusjr 提到,这与 blockMethod1 实作有关。 07/19 11:33
4F:→ Crazyming411: 简单实验了一下的结果,你可以参考看看: 07/19 11:34