错误代码+错误说明

时间:2013-10-20 20:09:51

标签: ios objective-c

我的项目中有以下课程:

  • 汽车
  • 卡车
  • 自行车
  • 平面

用户使用输入初始化每个类。例如,对于Car,他们使用model,make等初始化

我有验证函数,它使用键值验证来验证每个模型中的所有属性。

然后,对于每个验证函数,我为该函数设置NSError输入参数。

问题是我有超过20个错误代码与20多个错误描述相匹配。例如,如果用户未放置有效的汽车模型,则会收到错误代码1000,错误描述为“请输入有效的汽车模型”。现在,我在所有这些模型的父类中的函数内使用long switch语句,以将每个错误代码与错误描述相匹配,并为每个子类验证函数创建适当的nserror对象。是否有更好,更易于管理的方法来处理超过20个错误代码到错误描述的映射?

另外,另一个问题,错误代码应该具体如何?例如,如果汽车模型为零或汽车模型不是有效模型(不是零,只是无效),那么两者之间的错误代码是否存在差异。

2 个答案:

答案 0 :(得分:0)

您可以使用字典。将错误代码转换为NSNumber实例,并将关联值设置为错误描述。然后,当您创建错误时,只需从字典中获取描述。

答案 1 :(得分:0)

我不完全了解您的情况,但您应该在添加错误代码时添加错误说明,即在创建NSError对象时。

[NSError errorWithDomain:@"aDomain" code:1 userInfo:@{NSLocalizedDescriptionKey: @"Please input valid car model."}];

然后,当您需要向用户显示错误时,只需从错误中获取描述:

NSString *errorText = error.userInfo[NSLocalizedDescriptionKey];