【发布时间】:2014-09-17 22:07:56
【问题描述】:
我正在进入NSBlockOperation,我有一些问题。
值得注意的是,addExecutionBlock 的 documentation 表示:
讨论
指定的块不应该对 它的执行环境。
在接收器正在执行或已经执行时调用此方法 finished 会引发
NSInvalidArgumentException异常。
NSInvalidArgumentException会抛出什么情况? “当接收器正在执行时”到底是什么意思?什么会导致这种情况?
【问题讨论】:
-
你不应该对环境做任何假设意味着你不知道任何状态如果执行还没有开始将要开始是现在运行八还是已经结束。你也不应该假设你的任务需要一定的时间,而是使用异步方法调用来检查你的执行状态。如果您开始执行,尽管它们当前正在运行或已完成,此方法将抛出一个无效的参数异常。这就是我的理解。
标签: ios nsoperation nsoperationqueue nsexception nsblockoperation