2013-07-27 14 views
8

Tôi có một ứng dụng bổ sung Danh bạ vào Sổ địa chỉ trong iOS và tất cả những gì tôi cần là lưu trữ ABRecordID hoặc ABRecordref ngay khi tôi lưu số liên lạc.Lấy ABRecordID từ đối tượng địa chỉ mới được thêm ios

ABAddressBookAddRecord(addressbook, newPerson, &theerror); 
ABAddressBookSave(addressbook, &theerror); 

Câu hỏi này là cực kỳ tương tự, nhưng tôi không hiểu câu trả lời: ABRecordID for a record in addressbook(unique id for inserted record in addressbook)

Làm thế nào để bạn biết

ABRecordID ABRecordGetRecordID (
ABRecordRef newPerson 
); 

Một số trợ giúp ở đây sẽ là tuyệt vời - cảm ơn!

Trả lời

19

Chỉ cần gọi ABRecordGetRecordID(newPerson) sau khi bạn đã lưu sổ địa chỉ (trước đó, sẽ không có ID hợp lệ).

//... 
ABRecordID recordID = ABRecordGetRecordID(newPerson); 

Một ABRecordID là giống như một int_32 (một số nguyên 32-bit).

+0

Đó là vé! Cảm ơn omz bạn da man. Gonna chấp nhận câu trả lời của bạn trong 2 phút khi tôi được phép. –

+0

Nó luôn cho -1 là ABRecordID với bộ chọn liên hệ gốc ABRecordRef trong ios 8.1 – Abhishek

+1

@Abhishek đây là một dự đoán đầy đủ nhưng có thể do bạn không nhận được sự cho phép liên lạc từ người dùng khi sử dụng trình chọn địa chỉ liên hệ gốc ios 8 đang ẩn bản ghi id bằng cách luôn trả về giá trị -1? – danny