我是Swift的新手。我想了解对象所有权在方法链方面的工作原理。
让我们以SwiftTask为例。其中一个unit test case正在联系“成功”和“失败”。
task.success { (value: String?) -> Void in
XCTFail("Should never reach here.")
}.failure { (error: NSError?, isCancelled: Bool) -> Void in
XCTAssertTrue(error != nil, "Should receive non-nil error.")
expect.fulfill()
}
success
和failure
的实现都返回一个新的Task对象。那么,这些2个调用返回的Task对象是否由某人保留?
请帮助我了解这两个Task对象发生了什么。谢谢!