我有一个带有属性(NSEntity)的Cloth(type),该属性是从预定义的NSString值列表(即雨披,夹克,外套,礼服,上衣,上衣等)中填充的。

我想获取所有Cloth记录,以便根据type的定义顺序对记录进行排序。即所有有关Poncho的记录都在顶部,然后是夹克,然后是外套,然后是礼服,然后是顶部,然后是西装,依此类推。

Poncho‎ …
Poncho‎ …
Poncho‎ …
Jacket …
Jacket …
Coat …
Coat …
Coat …
Gown …
Gown …
Top …
Top …
Top …
Top …
Suit …
Suit …

此顺序不是升序还是降序,而是自定义的。如何获取Cloth记录,以使它们按此(定义的)顺序返回?

最佳答案

实现自定义订单的唯一方法是引入类型为NSNumber的新属性来跟踪订单。

[似乎在类别字符串(雨披等)之后还有更多文本,因此实际上您有许多唯一的字符串都必须遵循自定义顺序,只是将它们按第一个单词分组。]

如果您确实希望将此逻辑与其余数据区分开,则可以创建一个具有ClothTypename属性的新实体sortOrder,并与Cloth实体建立关系。

另一种方案是将sort属性乘以每个“主要”类别的10000,并为同一类别的每个后续类别加1。

10-01 21:41