0
我想檢查在我的應用程序上註冊並存儲在我的服務器上的號碼是否在運行該應用程序的設備上。 我試過,但我真的不能從這裏往前走:檢查聯繫人的電話號碼是否在我的服務器上
在我的課堂我宣佈:
var chatMatesArray: NSMutableArray = NSMutableArray()
var contactsName: NSMutableArray = NSMutableArray()
var users: NSMutableArray = NSMutableArray()
var phoneNumbers: NSMutableArray = NSMutableArray()
在我viewDidLoad中:
override func viewDidLoad() {
super.viewDidLoad()
//I already have the permission to check AddressBook
var allNumbers: [AnyObject] = []
let adbk : ABAddressBook? = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()
let people = ABAddressBookCopyArrayOfAllPeople(adbk).takeRetainedValue() as NSArray as [ABRecord]
for person in people {
let phones: ABMultiValueRef = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()
for j in 0..<ABMultiValueGetCount(phones) {
let phone: String = ABMultiValueCopyValueAtIndex(phones, j).takeRetainedValue() as! String
allNumbers.append(phone)
self.phoneNumbers.addObject(allNumbers)
}
}
}
然後,我有一個FUNC那從我的服務器檢索號碼,我將它們存儲到陣列chatMatesArray然後我嘗試去做:
let set1 = Set(arrayLiteral: self.chatMatesArray)
let set2 = Set(arrayLiteral: self.phoneNumbers)
self.users.addObject(set2.intersect(set1))
這將檢查我的服務器和地址簿上的數字,對嗎?但是,我怎麼能從這個數字回到他們的主人的全名,以便我可以在UITableView中顯示?
在此先感謝您的幫助。
謝謝,你有一些與我的情況下使用地圖和過濾器的例子的鏈接? – Francesco
@FrancescoVezzoli http://stackoverflow.com/q/25715780/4151918 –
@FrancescoVezzoli這裏的[一個ABAddressBook包裝(https://github.com/SocialbitGmbH/SwiftAddressBook),其含有地圖和過濾器的示例。 –