UITableViewController部分

时间:2016-04-27 00:39:07

标签: ios swift uitableview

我正在尝试重新创建由Apple制作的有缺陷的CNContactPickerViewController,因此我有一个数据[CNContact]数组,我需要在UITableView中整齐地显示。这一切都很有效,直到我尝试根据联系人姓氏的第一个字母添加部分到该表。我找到的唯一解决方案是遍历[CNContact]数组并根据其首字母手动将每个联系人分组到字典中,从而生成[String:[CNContact]]。有更好的方法吗?

最终结果可以在下面的屏幕截图中查看。 enter image description here

1 个答案:

答案 0 :(得分:0)

这将按姓氏对联系人排序。可能有点矫枉过正,因为您希望它们仅按姓氏的第一个字母分组,而这将使用整个名称进行排序。

  var contacts :[CNContact] = [CNContact]();
  // fill your contacts here
    contacts.sortInPlace { (contact1, contact2) -> Bool in
        contact1.familyName.compare(contact2.familyName) == .OrderedAscending
    }

不确定您是否需要原始订购。如果您想要原始数组,请创建旧数组的副本,并为副本进行排序。