2013-04-16 59 views
0

我收到存储在地址簿中的对象的潜在泄漏问题,以及如何解决它。存储到地址簿中的对象的潜在泄漏

我在本地创建地址簿然后copyArrayofAllpeople为people1数组。在方法外使用的people1数组。那么我应该在哪里发布addressbookref。请提出建议。

这是我的代码

ABAddressBookRef addressBook = ABAddressBookCreate(); 
    people1 = (__bridge NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); 
+0

传递给外部方法后,你保留了那个对象吗? – Mani

回答

0

使用CFRelease()方法。

ABAddressBookRef addressBook = ABAddressBookCreate(); 
people1 = (__bridge NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); 
    CFRelease(addressBook); 

我认为这会对您有所帮助。

+0

放第3行后,因为使用方法外的people1数组而导致崩溃。 ABMultiValueRef multi = ABRecordCopyValue(person,kABPersonPhoneProperty);多对象未创建。 – Mahesh