首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改NSError localizedDescription

修改NSError localizedDescription
EN

Stack Overflow用户
提问于 2014-03-12 04:42:51
回答 3查看 10.3K关注 0票数 15

你们知道在NSError被实例化后,除了重新创建之外,是否有更好的方法来设置/修改它的localizedDescription ?我没有找到任何好的方法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-12 04:55:10

NSError没有为其属性声明任何设置器。从这一点可以推断出,它可能不打算在创建后进行修改。我可以看到在NSError上编写一个类别,它将从另一个错误中创建一个错误,但NSLocalizedDescriptionKey键具有不同的值。

票数 9
EN

Stack Overflow用户

发布于 2014-03-12 17:47:15

与许多NSError类一样,Cocoa类是不可变的。

然而,-localizedDescription的文档指出:

默认情况下,此方法返回密钥NSLocalizedDescriptionKey的用户信息字典中的对象。如果用户信息字典不包含NSLocalizedDescriptionKey的值,则从域和代码构造默认字符串。

所以只需使用errorWithDomain:code:userInfo:创建一个新实例或复制并提供适当的用户信息即可。

将另一个很好的introduction Here's到NSError类。

票数 22
EN

Stack Overflow用户

发布于 2014-05-08 21:25:43

如果您手动创建指定userInfo的NSError,则可以重写此字典的键NSLocalizedDescriptionKey的值。只需将error.userInfo强制转换为NSMutableDictionary或创建NSError对象时使用的任何类

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22336212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档