是否可以从错误代码中获取本地化描述?
〔实施例: 当应用程序尝试在脱机状态下连接NSURLSession时返回错误:
错误域= NSURLErrorDomain代码= -1009“Internet连接 似乎处于离线状态。“
是否可以获得“Internet连接似乎处于脱机状态”。使用域名和代码的描述?像下面这样的东西(它确实不起作用):
let error = NSError(domain: "NSURLErrorDomain", code: -1009)
print(error.localizedDescription)
答案 0 :(得分:2)
仅当在用户信息字典中设置NSLocalizedDescriptionKey时才有效。显然,您不是来自NSURLSession的NSError对象,因此从域和代码构造默认字符串。有关更多详细信息,请参阅NSError documentation。
如果要本地化显示用户的错误消息,则必须检查错误类型的错误代码并显示相应的本地化字符串。有关使用本地化的详细信息,请参阅Localizing Your App。
修改强>
再次阅读你的问题我想我误解了你的问题。
如果要使用域和错误代码初始化NSError对象,并使其包含与NSURLSession使用的错误代码对应的某个错误消息,则答案为否
特定错误代码不是全球公认的标准,并且没有任何东西可以阻止其他应用程序使用相同的代码。
据说NSError不会根据特定的错误代码自动填充消息字段。使用NSError对象的客户端必须手动执行此操作。