title: To Autorelease or Not to Autorelease
body: <p>In the following code example from the Core Data Programming Guide, NSFetchRequest is created
  with autorelease while NSSortDescriptor is not created with autorelease.  Why wasn't NSSortDescriptor created with autorelease?  Is it a matter of preference?</p>
  
  <pre><code>NSManagedObjectContext *moc = [self managedObjectContext];    
  NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Employee" 
                                                       inManagedObjectContext:moc];
  
  NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
  [request setEntity:entityDescription];
  // Set example predicate and sort orderings...
  NSNumber *minimumSalary = ...;
  NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(lastName LIKE[c]'Worsley') AND (salary &gt; %@)", minimumSalary];    
  [request setPredicate:predicate];
  NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" 
                                                                 ascending:YES];
  [request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
  [sortDescriptor release];
  NSError *error;
  NSArray *array = [moc executeFetchRequest:request error:&amp;error];
  if (array == nil){
      // Deal with error...
  }
  </code></pre>