/* Page prose (zh-Hans) */
"BridgingADelegate" = "# 桥接 delegate\n\n不是每个老式 API 都接受一个完成闭包。许多是基于 **delegate** 的：你把自己设为 delegate，启动工作，当它完成时，那个对象会调用*你的*某个方法：`somethingDidFinish(...)` 或 `somethingDidFail(...)`。**delegate** 就是一个接收那些\"它发生了\"回调的对象。\n\n当一个 delegate 只触发**一次**（一个单一的成功或失败结果）时，它与 continuation 完美契合。诀窍在于：造一个小小的适配器对象，让它*就是*那个 delegate，把 continuation 交给它，并让每个 delegate 方法去恢复它。\n\n想象前面章节里那个屋顶气象站。一个遗留的 `CalibrationProbe` 校准一个传感器，并通过一个 delegate 报告回来，仅一次。";
"BridgingADelegate-2" = "**观察运行：**短暂暂停后，你会看到 `Sensor calibrated to 21.4°C`。有两个细节挑着大梁。第一，适配器停驻 continuation，并在触发的那个 delegate 方法里恢复它：成功*或*失败，从不两者都来。第二，`keepAlive = self`：探针以 `weak` 方式持有它的 delegate（delegate 都这样，为了避免循环引用），所以如果没有一个强引用，适配器会在回调到达之前就消失，continuation 就会泄漏成一场卡死。把 `self` 一直持有到那唯一的一次恢复，然后再释放，正好让它活得够久。恢复之后把 `continuation = nil` 设空，是你自己针对双重恢复的双保险。\n\n[上一页](@previous)  |  第 6 / 8 页  |  [下一页: 只恢复一次](@next)";
