Macos -[nsrresponder presentError:]显示哪些字段?
是否有关于该方法工作原理的文档?我试图在我的库中创建Macos -[nsrresponder presentError:]显示哪些字段?,macos,cocoa,error-handling,nserror,nsalert,Macos,Cocoa,Error Handling,Nserror,Nsalert,是否有关于该方法工作原理的文档?我试图在我的库中创建NSError实例,其userInfo值向用户显示尽可能多的有用信息。我的日子不好过 我一开始只使用了NSLocalizedFailureReasonErrorKey。看到它为生成的NSAlert(粗体字体,最上面的标签)分配了messageText属性,我接下来尝试添加NSLocalizedDescriptionKey,我认为它将填充informativeText属性,以便在其下进行非粗体解释。我还添加了nsurlerorkey,因为这个库处
NSError
实例,其userInfo
值向用户显示尽可能多的有用信息。我的日子不好过
我一开始只使用了NSLocalizedFailureReasonErrorKey
。看到它为生成的NSAlert
(粗体字体,最上面的标签)分配了messageText
属性,我接下来尝试添加NSLocalizedDescriptionKey
,我认为它将填充informativeText
属性,以便在其下进行非粗体解释。我还添加了nsurlerorkey
,因为这个库处理文件,它会很有帮助
生成的NSAlert
根本不显示原始的NSLocalizedFailureReasonErrorKey
值,新的NSLocalizedDescriptionKey
现在成为消息文本。它也根本不公开nsurlerorkey
是我编写自己的错误表示方法和此库的域的特殊情况的唯一选项吗?下的错误处理编程指南中记录了NSError
键如何与presentError:
交互
它包括一个图表,详细说明什么去了哪里。如文件所述:
失败原因
解释错误发生原因的简短句子。它通常是错误描述的一部分。presentError:等方法不会自动显示失败原因,因为它已包含在错误描述中。失败原因适用于只想显示失败原因的客户端
如果要在演示之前重新排列NSError
对象中的字段,最好覆盖willPresentError:
以返回调整后的错误对象
对于像nsurlerorkey
这样的字段,如果您想显示它,您应该将其包含在NSLocalizedDescriptionKey
或nsLocalizedRecoverysSuggestionErrorkey
中。虽然它被称为“恢复建议”,但文档明确指出,它可以“作为补充错误描述和故障原因的纯信息性消息”