我有一个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)
}
如何首先使用国家/地区名称(如当前位置对象)对其进行排序,然后再使用其余部分。
由于
答案 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"
字符串是您从方法中正确获得的字符串。