我已經編寫了如下的代碼,用於從通訊錄中刪除所有聯繫人。但是,對於超過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