代码之家  ›  专栏  ›  技术社区  ›  Jack Guo

当self被释放时,我应该调用完成处理程序吗

  •  1
  • Jack Guo  · 技术社区  · 7 年前

    我们可能都使用了下面的模式。这可能不太重要,我只是好奇当 self 不再存在?

    var uid: String
    
    func asyncTask(completion: @escaping(Result)->()) {
        anotherAsyncTask() { [weak self] (result) in
            guard let uid = self?.uid else { 
                completion(.error) // Should I call this???
                return 
            }
            // consume result
        }
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Shehata Gamal    7 年前

    self

    completion(.error) // Should I call this???
    

    return