2

-[NSResponder presentError:]メソッドの仕組みに関するドキュメントはありますか? NSErrorライブラリにインスタンスを作成しようとしています。そのuserInfo値は、できるだけ多くの有用な情報をユーザーに表示します。私は苦労しています。

私はちょうど使い始めましたNSLocalizedFailureReasonErrorKey。生成された(太字のフォント、一番上のラベル)のmessageTextプロパティが割り当てられているのを見て、次に、追加しようとしました。このライブラリはファイルを扱っており、役立つので、も追加しました。NSAlertNSLocalizedDescriptionKeyinformativeTextNSURLErrorKey

結果NSAlertは元の値をまったく示しておらずNSLocalizedFailureReasonErrorKey、新しいNSLocalizedDescriptionKeyものがmessageText. また、それもまったく公開しませんNSURLErrorKey

独自のエラー表示方法を記述し、このライブラリのドメインを特殊なケースにする唯一のオプションはありますか?

4

1 に答える 1

2

NSErrorキーがどのように相互作用するかについては、ローカライズされたエラー情報presentError:の下のエラー処理プログラミング ガイドに記載されています。

何がどこにあるのかを示す図が含まれています。ドキュメントに記載されているように:

失敗の理由

エラーが発生した理由を説明する短い文。これは通常、エラーの説明の一部です。presentError: などのメソッドは、エラーの説明にすでに含まれているため、失敗の理由を自動的に表示しません。失敗の理由は、失敗の理由のみを表示したいクライアント向けです。

プレゼンテーションの前にオブジェクト内のフィールドを再配置する場合は、調整されたエラー オブジェクトを返すようNSErrorにオーバーライドするのが最適です。willPresentError:

のようなフィールドについては、表示したい場合は、NSURLErrorKeyこれを含めていることが予想されます。これは「回復の提案」と呼ばれていますが、ドキュメントでは、「エラーの説明と失敗の理由を補足する純粋な情報メッセージとして」使用できることが明示されています。NSLocalizedDescriptionKeyNSLocalizedRecoverySuggestionErrorKey

于 2015-02-23T18:12:26.430 に答える