我有一个由字典填充的数组,我需要根据字典中一个键的值按字母顺序对数组进行排序.

这是我的数组:

tu dictus: (
    {
    brand = Ryul;
    productTitle = Any;
    quantity = 1;
    subBrand = "Ryul INJ";
    type = Product;
},
    {
    brand = Trol;
    productTitle = Different;
    quantity = 2;
    subBrand = "";
    type = Brand;
},
    {
    brand = Dtor;
    productTitle = Any;
    quantity = 1;
    subBrand = "";
    type = Product;
},
    {
    brand = Ryul;
    productTitle = Different;
    quantity = 2;
    subBrand = "Ryul CHES";
    type = SubBrand;
},
    {
    brand = Anan;
    productTitle = Any;
    quantity = 1;
    subBrand = "";
    type = Product;
}
)

通常我会使用数组排序

myArray = [uniqueProdsArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

但是如何使用字典的brand键进行排序呢?

推荐答案

我认为这可以做到:

brandDescriptor = [[NSSortDescriptor alloc] initWithKey:@"brand" ascending:YES];
sortDescriptors = [NSArray arrayWithObject:brandDescriptor];
sortedArray = [myArray sortedArrayUsingDescriptors:sortDescriptors];

我从Sort Descriptor Programming Topics中提取了密码.此外,Key-Value Coding起作用,即sortedArrayUsingDescriptors:将向myArray中的每个元素发送valueForKey:,然后使用标准比较器对返回值进行排序.

Objective-c相关问答推荐

Apple Silicon 上的 dispatch_time 计算失败

iPhone 可达性判断

Xcode 的任何 ReSharper 类似功能?

将长按手势和拖动手势结合在一起

当我从导航控制器推送时如何隐藏导航栏?

在objective-c / cocoa-touch中是否有一个方便的功能来找到最小的数字?

Objective-C (cocoa) 等价于python的endswith/beginswith

如何从 Xcode4 生成 UML 图

如何在情节提要场景中嵌入自定义视图 xib?

iPhone - 时区便利方法之间的差异

字符串的静态 NSArray - 如何/在哪里初始化视图控制器

强制iphone应用程序以编程方式重新启动?

如何在 ios 8 的 alertview 中添加文本输入?

UIBezierPath 减go 路径

Core Text在iOS中计算字母框架

NSAssert vs assert :您使用哪个,何时使用?

NSHTTPCookieStorage 状态未在应用退出时保存.那里有任何明确的知识/文档吗?

AppDelegate 的当前视图控制器?

如何将 tintColor 应用于 UIImage?

将 NSDate 舍入到最接近的 5 分钟