NSOperationQueue 以及 NSOperation 在 iOS 5 下的问题

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

解决这个问题的方法是:

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

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

头文件:


实现文件:


你可能感兴趣的:(Opera)