2016-04-27 5 views
0

Appleが作成したバグのあるCNContactPickerViewControllerを再作成しようとしていますので、UITableViewにきれいに表示する必要があるデータの配列[CNContact]があります。私はそのテーブルに連絡先の姓の最初の文字に基づいてセクションを追加しようとするまで、すべて素晴らしいです。私が見つけた唯一の解決策は、[CNContact]アレイを繰り返してすべての連絡先を辞書に手動でグループ化し、その頭文字に基づいて[String:[CNContact]]という結果になります。これを行うより良い方法はありますか?UITableViewController Sections

最終結果は下のスクリーンショットで見ることができます。 enter image description here

答えて

0

連絡先を姓でソートします。最後の名前の最初の文字だけでグループ化したいので、これは残念ですが、これは全体の名前を使用して並べ替えます。

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

オリジナルの注文が必要かどうか不明です。元の配列が必要な場合は、古い配列のコピーを作成し、コピーのためにソートします。

関連する問題