让我们说我有一个从网络响应中获取的对象的NSArray,该数组的对象包含一个属性,该属性是一个枚举值。在那个枚举中可以有一个或多个具有不同值的对象。我需要知道该枚举的每个值
我有一个全局的enums.h文件,其中包含整个项目的枚举。但是这些枚举是单个的,我的意思是,它们只被分配了一次,所以它们不会被覆盖(例如,在我的情况下,如果其中有两个或多个对象,则该对象的先前枚举值将被新值覆盖。该数组)。提供的代码具有detailType属性,该属性是enums.h值中的枚举
+ (CommentDetails *)detailsFromDto:(commentDetailDTO *)dto
{
CommentDetails *details =
[CommentDetails new];
details.key = dto.v_key;
details.value = dto.v_value;
details.date = dto.v_date;
CommentDetailType detailType = COMMENT_NONE;
if (dto.v_type == BROWSER_INFORMATION) {
detailType = BROWSER_INFORMATION;
} else if (dto.v_type == MEDIA) {
detailType = MEDIA;
} else if (dto.v_type == QUESTIONNAIRE) {
detailType = QUESTIONNAIRE;
} else if (dto.v_type == VERIFICATION) {
detailType = VERIFICATION;
}
return details;
}
我希望响应中包含多个枚举值。现在,所有属性都被数组的最后一个对象值覆盖
编辑1:
这就是我如何调用detailsFromDTO方法:
NSMutableArray<CommentDetails *> *details = [NSMutableArray new];
NSArray<commentDetailDTO *> *v_details =
v.v_commentDetails;
for (commentDetailDTO *v_detail in v_details) {
[details addObject:[self detailsFromDto:v_detail]];
}
v.v_commentDetails是响应对象