Core Data fetch queries

Andy on Sep 28th 2006

I’m currently trying to implement the wildmat matching algorithm as described in RFC 2980 for my NNTP server, Wombat. Since I’m implementing the article database using Core Data, I’d like to use as much as the built in functionality as possible.

Wildmat isn’t regular expressions, but supports five allegedly different operations. It’s really just three (they count character sets as three):

  1. * - matches any character zero or more times.
  2. ? - matches any one, and only one, character.
  3. [] - character sets. This includes using ^ to specify negative character sets and using \ to escape special characters in the set.

I’ve actually figured out that Core Data supports the first two right out of the box. That’s right, if you use the LIKE operator to match strings, you can use * and ? in the string and Core Data will do the magic for you:


NSString* wildmat = @"foo*bar??";
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"name LIKE %@", wildmat];

In the above example Core Data would match any of the follow names:

foobar12
fooSTUFFbarNO
foojunk12barG1

I’m trying to figure out if Core Data supports character sets in anyway. It’d be a lot easier, and more efficient, if I can get Core Data to do all the heavy lifting for me. I’m also looking for any mailing list or discussion group that covers Core Data. I checked Apple’s mailing lists, but I couldn’t find anything.

Filed in Core Data, Macintosh, Programming, Wombat | One response so far

One Response to “Core Data fetch queries”

  1. Blake Seely Oct 11th 2006 at 05:19 pm 1

    The Cocoa-Dev mailing list usually handles CoreData questions. (CoreData is technically part of cocoa, so it’s definitely on-topic for that list)

Trackback URI | Comments RSS

Leave a Reply

Bad Behavior has blocked 710 access attempts in the last 7 days.