Type Method 型メソッド

setUserInfoValueProvider(forDomain:provider:)

Specifies a block to call when the corresponding property is not present in the user info dictionary. あるブロックを指定して、対応するプロパティがユーザ情報辞書において提示されない時に呼び出します。

Declaration 宣言

class func setUserInfoValueProvider(forDomain errorDomain: String, 
                           provider: ((Error, String) -> Any?)? = nil)

Parameters パラメータ

errorDomain

The error domain of the provider. このプロバイダのエラードメイン。

provider

A block to be executed synchronously at the time a corresponding property is accessed. 対応するプロパティがアクセスされるその時に同期的に実行されるブロック。

err

The error object that is being accessed. アクセスされているエラーオブジェクト。

userInfoKey

The user info key corresponding to the accessed property. アクセスされたプロパティに対応するユーザ情報キー。

Discussion 議論

This method specifies a block that is called from the implementations of localizedDescription, localizedFailureReason, localizedRecoverySuggestion, localizedRecoveryOptions, recoveryAttempter, and helpAnchor when the underlying value for any of those properties is not present in the userInfo dictionary of NSError instances with the specified domain. このメソッドは、あるブロックを指定します、それはlocalizedDescription, localizedFailureReason, localizedRecoverySuggestion, localizedRecoveryOptions, recoveryAttempter, そしてhelpAnchorの実装から呼び出されます、それらのプロパティのどれかの基礎をなす値が、この指定されたドメインでのNSErrorインスタンスそれらからなるuserInfo辞書において存在しない場合に。

A user info provider is optional, and allows localization and formatting of error messages to be done lazily, rather than populating the userInfo at the time of creation. It is expected that only the “owner” of an NSError domain specifies the provider for the domain, and that this is done at most once. This method is not meant for consumers of errors to customize the userInfo entries, and should not be used to customize the behaviors of error domains provided by the system. ユーザ情報プロバイダは随意です、そしてエラーメッセージのローカライゼーションと書式設定が遅延に実行されることを許可します、userInfoを作成時に入れておくのではなく。NSErrorドメインの “owner” だけがそのドメインのプロバイダを指定すること、そしてこれが最大一度行われることが期待されます。このメソッドは、エラーの消費者がuserInfo登録項目をカスタマイズするのに向けたものではありません、そしてシステムによって提供されるエラードメインの挙動をカスタマイズするために使われるべきではありません。

The keys of a provider’s userInfo dictionary correspond to the queried property, such as NSLocalizedDescriptionKey for the localizedDescription property. The provider should return nil for any keys that it is unable to provide, as well as any keys it does not recognize (since the list of error keys may be extended in future releases). If an appropriate result for the requested key cannot be provided, return nil rather than choosing to manufacture a generic fallback response. 問い合わせたプロパティに対応している、あるプロバイダの持つuserInfo辞書のキーそれら、たとえばlocalizedDescriptionプロパティに対するNSLocalizedDescriptionKeyなど。プロバイダは、それが提供できないどんなキーに対しても、もちろんそれが認識できないどんなキーに対してもnilを返すべきです(エラーキーのリストは、将来のリリースで拡張されないかもしれないからです)。問い合わされたキーに対する適切な結果が提供できないならば、nilを返します、一般的な代替の応答をこしらえるのを選択するのではなくて。

The provider block is executed synchronously at the time when a corresponding property is accessed. The results are not cached. プロバイダブロックは、対応するプロパティがアクセスされる場合はその時に同期的に実行されます。結果はキャッシュされません。

See Also 参照

Providing Error User Info エラーユーザ情報を提供する