0
私は連絡先のようなアプリを作る必要があります。私はモデルオブジェクトを持っています。 2つのプロパティphoneNumbers
& addresses
が配列モデルの配列プロパティを検索するには
class Contact: NSObject {
var name: String?
var companyName: String?
var phoneNumbers: [String]?
var addresses: [String]?
.. // Custom init methods etc
}
今、私はこれらを移入し、検索ビューコントローラを使用してそれらを検索する必要がある注意してください。
私は簡単な方法で、TableViewControllerでsearchViewControllerを実装しました。ずっとここのように:https://www.raywenderlich.com/113772/uisearchcontroller-tutorial
func filterContentForSearchText(searchText: String, scope: String = "All") {
filteredContacts.removeAll(keepCapacity: false)
let searchPredicate = NSPredicate(format: "name CONTAINS[c] %@ OR companyName CONTAINS[c] %@", searchController.searchBar.text!, searchController.searchBar.text!, searchController.searchBar.text!)
let array = (contacts as NSArray).filteredArrayUsingPredicate(searchPredicate)
filteredContacts = array as! [Contact]
tableView.reloadData()
}
私の問題は、電話番号や住所の配列をthrought検索する方法ですか?上記のコードは、配列以外のプロパティを使用して検索すると効果的ですが、配列を検索するにはどうすればよいですか?
CalZone、Ray Wenderlichチュートリアルでは、複数のプロパティを持つ配列をフィルタリングしています。 –
@SteveRosenbergしかし、どのプロパティも配列ではありません。私のモデルでは、phoneNumbers&addressesは文字列配列 – CalZone
なので、特定の電話番号や住所をすべての連絡先、さらには各連絡先の配列内で検索したいのですか?あなたは、その住所または電話番号を持っている特定の連絡先を返そうとしていますか? –