                 //获取某个联系人所有的手机号集合
                 let phones = ABRecordCopyValue(contact, kABPersonPhoneProperty).takeRetainedValue();
                 for index in 0..<ABMultiValueGetCount(phones) {
-                    
-                    for _ in 0...1000 {
                         let phoneString = getPhoneNumberWithIndex(index, phones: phones)
+                        if predicate.evaluateWithObject(phoneString) == false {
+                            continue
+                        }
                         var contactDict:[String:AnyObject] = [:]
                         contactDict[phone_num] = phoneString
                         contactDict[username] = name

        
        dispatch_async(dispatch_get_global_queue(0, 0)) {
            let sysContacts = ABAddressBookCopyArrayOfAllPeople(adressBook).takeRetainedValue() as Array
            
            var uploadContactArray:[Dictionary<String, AnyObject>] = []
            
            for contact in sysContacts {

                            uploadContact(uploadContactArray)
                            uploadContactArray.removeAll()
                        }
                }
            }
            if uploadContactArray.count != 0  {
                uploadContact(uploadContactArray)
