title: When do I use CFRelease?
body: <p>i'm studying iOS programming.</p>
  
  <p>i wrote code that associated an address.</p>
  
  <p>there's so many methods. like</p>
  
  <p>i'm dividing a group.</p>
  
  <p>here's group1</p>
  
  <pre><code>ABAddressBookCreate();
  ABRecordCopyCompositeName(argument);
  ABRecordCopyValue(argument1, argument2);
  ABRecordCopyValue(argument1, argument2);
  ABMultiValueCopyLabelAtIndex(argument1, argument2);
  ABMultiValueCopyValueAtIndex(argument1, argument2);
  </code></pre>
  
  <p>and another one is right here, group2</p>
  
  <pre><code>CFArrayGetCount(argument);
  CFArrayGetValueAtIndex(argument1, argument2);
  ABMultiValueGetCount(argument);
  </code></pre>
  
  <p>i know there's so many other methods.</p>
  
  <p>but i wonder when i use CFRelease method.</p>
  
  <p>i think group2's all methods don't do CFRelease</p>
  
  <p>because that contain the word "Get", not allocated.</p>
  
  <p>and i think group1's all method have to use CFRelease</p>
  
  <p>because there's a string "copy".</p>
  
  <p>i have a book.</p>
  
  <p>but there's used CFRelease twice.</p>
  
  <p>one is release ABAddressBookCreate()</p>
  
  <p>another one is ABAddressBookCopyPeopleWithName.</p>
  
  <p>all of other things don't use CFRelease.</p>
  
  <p>so i wonder when i use CFRelease.</p>
  
  <p>please tell me when i use CFRelease.</p>