微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何根据模型的数组属性中索引的模型的值进行排序

如何解决如何根据模型的数组属性中索引的模型的值进行排序

我有一个包含多个 FBCHaooseSubModel 的数组。我想根据 FBCHaooseSubTwoModel.itemValue 对它们进行排序。我应该怎么办?查了相关的kvc文档,没有找到解决办法。

我理解按照secCd排序如下:

NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"secCd" ascending:NO]];
[self.dataArray sortUsingDescriptors:sortDescriptors];

但是,我想要做的是根据数组的属性类型进行排序,并取数组中索引的模型的属性,例如:“itemData.[0].itemValue”。

所以当我尝试下面的代码时,却发生了异常。

NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"itemData.[0].itemValue" ascending:NO]];
        [self.dataArray sortUsingDescriptors:sortDescriptors];
/* json */
{
  "secCd" : "600251","poolType" : "1","itemData" : [
    {
      "itemValue" : "6.50","itemId" : "zxj"
    },{
      "itemValue" : "-0.49","itemId" : "dze"
    },{
      "itemValue" : "-7.01","itemId" : "dzf"
    },{
      "itemValue" : "6.96","itemId" : "zgj"
    }
  ],"secNm" : "冠农股份","sortPlace" : "515"
},@interface FBCHooseSubModel : JSONModel

@property(nonatomic,copy)Nsstring<Optional> * pro_id;//
@property(nonatomic,copy)Nsstring<Optional> * secCd;//股票代码
@property(nonatomic,copy)Nsstring<Optional> * secNm;//股票名字
@property(nonatomic,copy)Nsstring<Optional> * poolType;//那个池的
@property(nonatomic,copy)Nsstring<Optional> * sortPlace;//

@property(strong,nonatomic) NSArray<FBCHooseSubTwoModel,Optional> * itemData;//内容

@end

@interface FBCHooseSubTwoModel : JSONModel

@property(nonatomic,copy)Nsstring<Optional> * itemId;//
@property(nonatomic,copy)Nsstring<Optional> * itemValue;

@end

dataArray 包含多个 FBCHooseSubModelsFBCHooseSubModel 包含多个 FBCHooseSubTwoModels。我需要根据 dataArrayitemvalueFBCHooseSubTwoModel 进行排序。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。