Ios 错误代码+;错误描述

Ios 错误代码+;错误描述,ios,objective-c,Ios,Objective C,我的项目中有以下课程: 汽车 卡车 自行车 飞机 用户使用输入初始化每个类。例如,对于Car,它们使用model、make等进行初始化 我有一些验证函数,它们使用键值验证来验证每个模型中的所有属性 然后,对于每个验证函数,我为该函数设置NSError输入参数 问题是我有20多个错误代码与20多个错误描述相匹配。例如,如果用户没有输入有效的车型,他们会得到错误代码1000,错误描述为“请输入有效的车型”。此时,我在所有这些模型的父类中的函数中使用一个长switch语句,将每个错误代码与错误描述

我的项目中有以下课程:

  • 汽车
  • 卡车
  • 自行车
  • 飞机
用户使用输入初始化每个类。例如,对于Car,它们使用model、make等进行初始化

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

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

问题是我有20多个错误代码与20多个错误描述相匹配。例如,如果用户没有输入有效的车型,他们会得到错误代码1000,错误描述为“请输入有效的车型”。此时,我在所有这些模型的父类中的函数中使用一个长switch语句,将每个错误代码与错误描述相匹配,并为每个子类验证函数创建适当的nserror对象。有没有更好、更易于管理的方法来处理20多个错误代码到错误描述的映射


还有一个问题,错误代码应该有多具体?例如,如果汽车模型为零或汽车模型不是有效模型(不是零,只是无效),则两者之间的错误代码是否应该有所不同

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

我不完全理解您的情况,但您应该在添加错误代码的同时,即在创建
NSError
对象时,将错误描述添加到

[nSErrorWithDomain:@“aDomain”代码:1用户信息:@{NSLocalizedDescriptionKey:@“请输入有效的车型。”}]

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


NSString*errorText=error.userInfo[NSLocalizedDescriptionKey]

如何将nsdictionary定义并声明为另一个类中的外部变量,以便在许多类中使用它?您可以拥有一个具有返回字典的公共类方法的类。在内部,该方法检查dict是否已加载(存储在静态变量中),如果未加载则加载并返回它。