使用当前位置值

时间:2017-12-01 09:10:28

标签: ios swift sorting

我有一个Source对象数组:

 class Source: NSObject {
        var sourceName: String
        var country: String
    }

我想根据国家名称对该数组进行排序,这是我从NSLocale获得的。

if let countryCode = (Locale.current as NSLocale).object(forKey: .countryCode) as? String {
                        print(countryCode)
                    }

如何首先使用国家/地区名称(如当前位置对象)对其进行排序,然后再使用其余部分。

由于

1 个答案:

答案 0 :(得分:1)

您可以做的是首先按照国家/地区名称对数组进行排序:

    array.sort{ $0.sourceName < $1.sourceName }

然后从数组中删除当前国家/地区并将其添加为第一个元素:

    if let index = array.index(where: { $0.sourceName == "currentCountry" }) {
        let source = array.remove(at: index)
        array.insert(source, at: 0)
    }

我可能没有使用你想要的正确变量,我不确定Source变量是什么意思。 另外,请确保"currentCountry"字符串是您从方法中正确获得的字符串。