我已经编写了如下的代码,用于从通讯录中删除所有联系人。但是,对于超过1000个联系人来说,它工作得非常缓是否有任何其他方式从通讯录中删除所有联系人。我需要在我的应用程序中恢复备份。如何使用AddressBook框架有效地从AddressBook中删除所有联系人?
-(void)removeAllData
{
ABAddressBook *book = [ABAddressBook sharedAddressBook];
int count = [[book people] count];
for(int i=count;i>=0;i--)
{
if(i<[[book people] count])
{
[book removeRecord:[[book people] objectAtIndex:i]];
}
}
[book save];
}
彼得你好,你的逻辑都在短短的5秒删除1000个联系人。这很棒。感谢您的回答。通过我发布的代码需要很多时间来删除联系人。我需要从服务器恢复备份。再次感谢。 – 2010-06-22 06:07:23