代码之家  ›  专栏  ›  技术社区  ›  Radix

如何使用ABAddressBook删除iPhone通讯录中的记录?

  •  3
  • Radix  · 技术社区  · 15 年前

    我正在学习地址簿框架,然后想从iPhone联系人簿中删除记录。我检查了文档,发现一个名为 ABAddressBookRemoveRecord ,但我找不到删除记录的方法,比如用户选择一条记录,然后单击“删除”按钮,记录将被删除。

    到现在为止我所做的就是把我的头撞在文件上,仅此而已。

    你能给我一个链接或一个例子如何删除通讯录中的记录吗?

    谢谢您!

    3 回复  |  直到 14 年前
        1
  •  3
  •   Marco Valentin Shamardin    14 年前

    签出ABPersonViewController+Delete类别,该类别允许在不使用任何私有方法的情况下删除联系人:

    https://github.com/shrtlist/ABDelete

        2
  •  3
  •   AechoLiu    12 年前

    删除记录时 ABAddressBookRemoveRecord ,您应该将最终结果保存为 ABAddressBookSave . 如果你想要一个UIInterface来删除记录,我认为你需要自己实现。苹果提供的联系人界面位于 ABAddressBookUI framework .

        3
  •  0
  •   Rahul Bansal    9 年前

    目标C代码:

    ABAddressBookRef addressBook; 
    CFErrorRef error = NULL; 
    addressBook = ABAddressBookCreate();
    ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook,<YOUR 'PERSON' GOES HERE>);
    ABAddressBookRemoveRecord(addressBook, (ABRecordRef)person, &error );
    if(error !=NULL)
    {
        // Handle success
    
    }
    
    ABAddressBookSave(addressBook, NULL);
    

    银行代码:

    var emptyDictionary: CFDictionaryRef?
            var addressBookRef: ABAddressBookRef?
            var err: Unmanaged<CFErrorRef>? = nil
            var userRecord: ABRecordRef?
            addressBookRef = ABAddressBookCreateWithOptions(emptyDictionary, &err)?.takeRetainedValue()
            userRecord = ABAddressBookGetPersonWithRecordID(addressBookRef, "Record ID of User").takeUnretainedValue()
    
            ABAddressBookRemoveRecord(addressBookRef, userRecord, &err)
            if err != nil {
                // Handle success
            }
    
            // Save Address Book changes
            if ABAddressBookHasUnsavedChanges(addressBookRef){
                var err: Unmanaged<CFErrorRef>? = nil
                let savedToAddressBook = ABAddressBookSave(addressBookRef, &err)
                if savedToAddressBook {
                    print("Successully saved changes.")
                } else {
                    print("Couldn't save changes.")
                }
            } else {
                print("No changes occurred.")
            }
    
    推荐文章