2011-01-25 71 views
0

嗨我正在使用此代码来设置联系人图像。 我在仪器中发现泄漏,它指向“ABPersonSetImageData(ref,cfdata,& error);”线。 我没有看到问题,我很想在这里得到一些帮助。即使发布,ABPersonRemoveImageData泄漏?

感谢

SHANI

if(person.state!=0){ 
     //set default image; 
     NSString *n=[NSString stringWithFormat:@"%@%@", person.category_en,@"_B"]; 
     UIImage *img = [UIImage imageNamed:n]; 


     NSData *dataRef = UIImagePNGRepresentation(img); 
     CFDataRef cfdata = CFDataCreate(NULL, [dataRef bytes], [dataRef length]); 


     ABPersonRemoveImageData(ref, &error); 
     ABAddressBookSave(addressBook, &error); 
     ABPersonSetImageData(ref, cfdata, &error); 

     CFRelease(cfdata); 

     //set default category name; 
     ABRecordSetValue(ref, kABPersonJobTitleProperty, NSLocalizedString(person.category,@""), &error); 
     //set notes to person 
     ABRecordSetValue(ref, kABPersonNoteProperty,person.note, &error); 
    } 

回答

1

看起来的iOS SDK 4.2的错误。我在iOS SDK 4.2之前从未遇到过这个问题。但是这些乐器在iOS SDK 4.2最终版本中向我显示关于ABPersonSetImageData()的泄漏。所以,也许下一个iOS SDK 4.3将解决这个问题。

+0

在我的情况相同,感谢指出我。 – shannoga 2011-01-29 17:18:13