Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift中按字母顺序加载联系人列表_Ios_Swift_Contacts - Fatal编程技术网

Ios 在swift中按字母顺序加载联系人列表

Ios 在swift中按字母顺序加载联系人列表,ios,swift,contacts,Ios,Swift,Contacts,我在view controller中加载电话联系人时遇到了一个小问题,我成功地在Tableview中加载了带有姓名和号码的电话联系人,但如果联系人加载的姓名是随机的,我希望联系人姓名必须是与号码相等的字母顺序 以下是我的示例代码: 您可以使用: var descriptor: NSSortDescriptor = NSSortDescriptor(key: "name", ascending: true) var sortedResults: NSArray = contactArray.sor

我在view controller中加载电话联系人时遇到了一个小问题,我成功地在Tableview中加载了带有姓名和号码的电话联系人,但如果联系人加载的姓名是随机的,我希望联系人姓名必须是与号码相等的字母顺序

以下是我的示例代码:

您可以使用:

var descriptor: NSSortDescriptor = NSSortDescriptor(key: "name", ascending: true)
var sortedResults: NSArray = contactArray.sortedArrayUsingDescriptors([descriptor])

当然,如果您使用的是Swift数组而不是NSArray,您也可以使用简洁快速的排序方法

contactArray.sortInPlace { $0["name"] < $1["name"] }

根据您的代码,我假设您的contactArray设置了如下值:

let contactArray = [["name": "tim", "phone": 123], ["name": "adi", "phone": 1234], ["name": "cora", "phone": 456], ["name": "berta", "phone": 678]]
要按名称对其进行排序,可以使用:


对phonesArray进行排序,然后在tableview中显示。这是使用NsMutableArray for contactArray的Swift 4-dam的正确答案。这是一个NsArray如何在调用后删除所有对象?contactArray=nil或contactArray=NsArray。这取决于将来的用途是否可以按字母顺序对它们进行分类,以便我们可以在tableview部分中列出它们?我不明白按字母顺序对它们进行分类是什么意思?你能举一个具体的例子或更详细地解释你的问题吗@萨蒂扬
let contactArray = [["name": "tim", "phone": 123], ["name": "adi", "phone": 1234], ["name": "cora", "phone": 456], ["name": "berta", "phone": 678]]
let sortedContactArray = contactArray.sort{ ($0["name"] as! String) < ($1["name"] as! String) }

// result: [["phone": 1234, "name": adi], ["phone": 678, "name": berta], ["phone": 456, "name": cora], ["phone": 123, "name": tim]]