- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个可以访问地址簿
的应用程序,用户应该能够从该应用程序中删除联系人,它会从地址簿
中删除该联系人>
有时这不会发生,虽然在跟踪时,一切都按预期工作,并且我在删除后立即收到 ABAddressBookRegisterExternalChangeCallback();
通知,但是当我去联系手机上的应用程序时,联系人总数保持不变,并且该联系人仍然存在,未被删除。
这里是删除的代码
// this method takes and NSManagedObject which holds the id of the person that should be deleted
- (void)deleteContactFromAddressBook:(NSManagedObject *)object
{
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, NULL);
NSNumber *contactID = [object valueForKey:@"contactID"];
ABRecordRef contactRef = ABAddressBookGetPersonWithRecordID(addressBook, [contactID intValue]);
NSString *firstName = (__bridge NSString *)ABRecordCopyValue(contactRef,
kABPersonFirstNameProperty);
NSString *lastName = (__bridge NSString *)ABRecordCopyValue(contactRef,
kABPersonLastNameProperty);
if (!lastName) {
lastName = @"";
}
NSLog(@"contact to be deleted - Name: %@" ,[firstName stringByAppendingString:lastName]);
BOOL deleteCheck = ABAddressBookRemoveRecord(addressBook, contactRef, NULL);
BOOL saveCheck = ABAddressBookSave(addressBook, NULL);
NSLog(@"delete check = %hhd ---------- save check = %hhd", deleteCheck, saveCheck);
NSLog(@"Contact Deleted with id: %@", contactID);
}
如果您需要进一步的解释,请随时询问。我对这种意想不到的行为感到非常沮丧,我不知道该去哪里找。
谢谢。
最佳答案
我可能是错的,因为到目前为止我只写过 OSX,我确实遇到了类似的问题,但我最终解决了。 (见下面的链接)
我有预感你的 addressBook 对象只是一个本地副本。我发现我必须使用 ABAddressBook *addressBook =[ABAddressBook sharedAddressBook];
获取 addressBook 并处理其中的记录,就像使用 [addressBook save];
一样完成您的 iOS 使用情况可能有所不同。( How can I get the values I set for custom properties in AddressBook to persist? )
关于ios - ABAddressBookRemoveRecord();偶尔不按预期删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25713054/
我编写了一个可以访问地址簿的应用程序,用户应该能够从该应用程序中删除联系人,它会从地址簿中删除该联系人> 有时这不会发生,虽然在跟踪时,一切都按预期工作,并且我在删除后立即收到 ABAddressBo
我有以下获取地址簿联系人的方法: - (void) scanAddressBook { NSUInteger i; NSUInteger k; ABAddressBookRef addressBook
我是一名优秀的程序员,十分优秀!