iphone - 按 Objective C 中的子数组值对数组排序

标签 iphone objective-c arrays sorting

我在 Objective C 中有一个多项目数组,其中每个项目都是一个包含 4 个项目的子数组。我需要根据子数组的值之一对主数组进行排序。

我怎样才能(快速)做到这一点?

数组看起来像这样:

    (
    Marly,
    "Avenida Caracas - Calle 51",
    "4.637467,-74.066799",
    a,
    "10070.563466"
),
    (
    "Calle 76",
    "Avenida Caracas - Calle 76",
    "4.662918,-74.061198",
    a,
    "7250.832506"
),
    (
    Profamilia,
    "Avenida Caracas - Calle 34",
    "4.621341,-74.06976",
    a,
    "11853.104432"
),
    (
    "Avenida 39",
    "Avenida Caracas - Calle 39",
    "4.626816,-74.068687",
    a,
    "11243.556349"
)

最佳答案

您可以使用任意数量的 NSArrayNSMutableArray排序方法。如果您使用的是 iOS 4.0 或更高版本,最直接的可能是“UsingComparator:”版本。那会是这样的:

[array sortUsingComparator:^NSComparisonResult(id a, id b) {
    NSString *name1 = [a objectAtIndex:0];
    NSString *name2 = [b objectAtIndex:0];
    return [name1 localizedCaseInsensitiveCompare:name2];
}]

关于iphone - 按 Objective C 中的子数组值对数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453755/

相关文章:

ios - 如何在AFNetworking中使用AFHTTPClient设置超时间隔?

比较两个未排序 int 数组的代码。 C

ios - 处理游戏进入后台

iphone - 不使用baseURL我们可以在UIWebView中添加本 map 片吗

iphone - 让 View 向上滑动以为键盘腾出空间?

iOS: block 复制并添加到可变数组,清空数组时是否需要释放它们?

java - 如果元素值大于 10,是否可以将数组中的元素相乘?

javascript - 访问对象数组中的对象属性值javascript

ios - 如何在 swift 中为标签栏角标(Badge)计数设置动画

iphone - NSArray 是否为 :lastObject return an autoreleased object?