下面的代码创建了一些泄漏,我不明白,因为我释放了使用Create或Copy创建的所有对象。我没有广泛使用CF对象,所以我可能会误解保留周期。任何帮助,将不胜感激请:使用CFDictionaryRef和ABMutableMultiValueRef无法解释的泄漏
ABMutableMultiValueRef webServices = ABRecordCopyValue(aRecord, kABPersonInstantMessageProperty);
for (CFIndex i = 0; i < ABMultiValueGetCount(webServices); i++) {
CFDictionaryRef webService = CFDictionaryCreateCopy(NULL, ABMultiValueCopyValueAtIndex(webServices, i));
webServiceLabel = ABMultiValueCopyLabelAtIndex(webServices, i);
webServiceProvider = CFDictionaryGetValue(webService, kABPersonInstantMessageServiceKey);
webServiceUserName = CFDictionaryGetValue(webService, kABPersonInstantMessageUsernameKey);
// Data to be saved at this point
if (webService) CFRelease(webService);
if (webServiceLabel) CFRelease(webServiceLabel);
}
if (webServices) CFRelease(webServices);
谢谢,问题解决了,汲取了教训! – RunLoop 2009-10-23 17:10:05