我的项目中有以下课程:
用户使用输入初始化每个类。例如,对于Car,他们使用model,make等初始化
我有验证函数,它使用键值验证来验证每个模型中的所有属性。
然后,对于每个验证函数,我为该函数设置NSError输入参数。
问题是我有超过20个错误代码与20多个错误描述相匹配。例如,如果用户未放置有效的汽车模型,则会收到错误代码1000,错误描述为“请输入有效的汽车模型”。现在,我在所有这些模型的父类中的函数内使用long switch语句,以将每个错误代码与错误描述相匹配,并为每个子类验证函数创建适当的nserror对象。是否有更好,更易于管理的方法来处理超过20个错误代码到错误描述的映射?
另外,另一个问题,错误代码应该具体如何?例如,如果汽车模型为零或汽车模型不是有效模型(不是零,只是无效),那么两者之间的错误代码是否存在差异。
答案 0 :(得分:0)
您可以使用字典。将错误代码转换为NSNumber
实例,并将关联值设置为错误描述。然后,当您创建错误时,只需从字典中获取描述。
答案 1 :(得分:0)
我不完全了解您的情况,但您应该在添加错误代码时添加错误说明,即在创建NSError
对象时。
[NSError errorWithDomain:@"aDomain" code:1 userInfo:@{NSLocalizedDescriptionKey: @"Please input valid car model."}];
然后,当您需要向用户显示错误时,只需从错误中获取描述:
NSString *errorText = error.userInfo[NSLocalizedDescriptionKey];