NSOperationQueue 以及 NSOperation 在 iOS 5 下的问题

近期将xcode升级到了4.2,SDK是 iOS5。在 iOS 5 下,以前可以正常工作的 NSOperation,会崩溃。崩溃的原因是:取消队列中的操作,但是该操作还没有开始。

解决这个问题的方法是:

        在 start 方法中判断操作是否已经取消,如果取消,结束操作,没有取消,再执行操作。

        在 cancel 方法中判断操作是否正在执行,如果在执行,结束操作,如果没有,修改操作的isCancelled状态。

头文件:


实现文件:


posted @ 2012-02-01 17:16  Proteas  阅读(646)  评论(0编辑  收藏  举报