• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSPredicate to exclude specific elements??
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSPredicate to exclude specific elements??


  • Subject: Re: NSPredicate to exclude specific elements??
  • From: Robert Monaghan <email@hidden>
  • Date: Sun, 21 Mar 2010 12:47:19 -0700

Hi Kirk,

The variable wildcardString would contain a string such as *GREEN* for a wildcard search to include files with that name, and for simplicity's sake a
string like !*GREEN* for those that wish to exclude files that contain the string.

Here is a sample bit of code..

BOOL foundStar = NO;
BOOL notPredicate = NO;

NSRange firstNotStar = [wildcardString rangeOfString:@"!*"];
if (firstNotStar.location != NSNotFound) {
	notPredicate = YES;
}

NSRange firstStar = [wildcardString rangeOfString:@"*"];
if (firstStar.location != NSNotFound) {
	foundStar = YES;
	if (notPredicate) {
		NSString *arg = [wildcardString substringFromIndex:1];
		[self setPredicate:[NSPredicate predicateWithFormat:@"SELF NOT like[c] %@", arg]];
	} else
		[self setPredicate:[NSPredicate predicateWithFormat:@"SELF like[c] %@", wildcardString]];
}

If the "notPredicate" is true, the "!" character is trimmed from the front of the string, before it is passed to the predicate.
I've replaced the "not" predicate with all sorts of combinations. I get a NSInvalidArgumentException the moment the NSPredicate is instantiated.

Bob..

On Mar 21, 2010, at 11:31 AM, Kirk Kerekes wrote:

> I suggest that you need to provide the actual code you are using to generate the NSPredicate, because what you are wanting to do just isn't that hard.
>
> The problem may not be in the predicate format string.
>
> I would have used @"NOT CONTAINS[cd] %@" as my first pass, and been quite surprised if it didn't work. NSPredicate has its quirks, but the straightforward stuff tends to be... straightforward.
>
>

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: NSPredicate to exclude specific elements??
      • From: Kyle Sluder <email@hidden>
References: 
 >Re: NSPredicate to exclude specific elements?? (From: Kirk Kerekes <email@hidden>)

  • Prev by Date: Re: UITable Views and display lags / NSOperation vs NSURLConnection
  • Next by Date: [Moderator] Re: Invitation Personnelle de Pierre Berloquin
  • Previous by thread: Re: NSPredicate to exclude specific elements??
  • Next by thread: Re: NSPredicate to exclude specific elements??
  • Index(es):
    • Date
    • Thread