相关疑难解决方法(0)

操作变为isFinished = YES,而不是由它所在的队列启动

概观

  • 有一个异步操作子类
  • 将此操作添加到队列中.
  • 我在开始之前取消了这个操作.

运行时错误/警告:

SomeOperation went isFinished=YES without being started by the queue it is in

题:

  1. 这是可以忽略的东西还是严肃的东西?
  2. 怎么解决这个?
  3. 最终提供的变通方法/解决方案是否有效?

码:

public class SomeOperation : AsyncOperation {

    //MARK: Start

    public override func start() {

        isExecuting = true

        guard !isCancelled else {
            markAsCompleted() //isExecuting = false, isFinished = true
            return
        }

        doSomethingAsynchronously { [weak self] in

            self?.markAsCompleted() //isExecuting = false, isFinished = true
        }
    }

    //MARK: Cancel

    public override func cancel() {

        super.cancel()
        markAsCompleted() //isExecuting = false, isFinished = true …
Run Code Online (Sandbox Code Playgroud)

nsoperation ios swift

2
推荐指数
1
解决办法
1409
查看次数

标签 统计

ios ×1

nsoperation ×1

swift ×1