V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
georgetso
V2EX  ›  iDev

关于 NSOperation 依赖关系的疑问

  •  
  •   georgetso · 2015-07-09 23:12:10 +08:00 · 2092 次点击
    这是一个创建于 3213 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 不应该执行才对,怎么办?
    2 条回复    2015-07-10 16:11:11 +08:00
    meepoli
        1
    meepoli  
       2015-07-10 10:03:55 +08:00
    那么我建议
    1. 你看一看 NSOperation的文档
    2. 再看一看 Concurrent Programming Guide 官方白皮书
    110293734
        2
    110293734  
       2015-07-10 16:11:11 +08:00
    曾经看到过 operation依赖关系这一块,不过忘记了。

    自己大多数开发过程中,都是手动控制+判断条件 来控制operation
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1480 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:19 · PVG 01:19 · LAX 10:19 · JFK 13:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.