Generic Function

withExtendedLifetime(_:_:)

Evaluates a closure while ensuring that the given instance is not destroyed before the closure returns. あるクロージャを評価する一方で与えられたインスタンスがそのクロージャが返る前に破棄されないことを確実にします。

Declaration 宣言

func withExtendedLifetime<T, Result>(_ x: T, _ body: (T) throws -> Result) rethrows -> Result

Parameters パラメータ

x

An instance to preserve until the execution of body is completed. bodyの実行が完了するまで保護するインスタンス。

body

A closure to execute that depends on the lifetime of x being extended. If body has a return value, that value is also used as the return value for the withExtendedLifetime(_:_:) method. 延長されているxの生涯に依存して実行するクロージャ。bodyが戻り値を持つならば、その値はまたwithExtendedLifetime(_:_:)メソッドの戻り値としても使われます。

Return Value 戻り値

The return value, if any, of the body closure parameter. bodyクロージャパラメータの戻り値、もしあれば。

See Also 参照

Reference Counting 参照カウント