WWDC讲到了一个 NSOperation 依赖关系的例子:
WWDC app 设计中,如果用户点击 favorite,这个 favorite operation 会让自己依赖一个 login operation,检查用户是否已登录 WWDC。
操作步骤是:
1. 此时用户并没有登录 WWDC
2. 用户点击 favorite,这个 favorite operation 依赖了一个 login operation
3. login operation 会先执行,app 会 present 一个 login view controller
4. 用户决定 不login,点击了 cancel 按钮,这个 login view controller 会 dismiss
那么问题来了:
1. login operation 在步骤4执行后,finished 是 YES, cancelled 也是 YES,对不对?
2. 既然 login operation 已经被标记为 YES,那 favourite operation 会执行?可是因为用户选择了 cancel,此时 favourite operation 不应该执行才对,怎么办?
WWDC app 设计中,如果用户点击 favorite,这个 favorite operation 会让自己依赖一个 login operation,检查用户是否已登录 WWDC。
操作步骤是:
1. 此时用户并没有登录 WWDC
2. 用户点击 favorite,这个 favorite operation 依赖了一个 login operation
3. login operation 会先执行,app 会 present 一个 login view controller
4. 用户决定 不login,点击了 cancel 按钮,这个 login view controller 会 dismiss
那么问题来了:
1. login operation 在步骤4执行后,finished 是 YES, cancelled 也是 YES,对不对?
2. 既然 login operation 已经被标记为 YES,那 favourite operation 会执行?可是因为用户选择了 cancel,此时 favourite operation 不应该执行才对,怎么办?