title: How do I query/filter a to-many relationship in Core Data
body: <p>I have Customer, Event and Address objects in my data model.  Both Customer and Address have a one-to-many relationship to Event.</p>
  
  <p>I can get the distinct list of addresses for a customer's events for by doing this:</p>
  
  <pre><code>NSSet *addressSet = [customer valueForKeyPath:@"events.address"];
  </code></pre>
  
  <p>For the part of the UI I'm working on now, I need to display the address from the most recent event prior to now that has an address.</p>
  
  <p>I'm starting to go down the path of creating a NSFetchRequest, setting it's entity, sort descriptors, predicate and then looping through the results, but it seems like a lot of code.  Am I missing some obvious way of filtering/sorting on the "events" relationship of the Customer object or is creating the NSFetchRequest the best solution?</p>