| Inherits from | |
| Conforms to | |
| Framework | /System/Library/Frameworks/Foundation.framework |
| Availability | Available in Mac OS X v10.4 and later. |
| Companion guide | |
| Declared in | NSComparisonPredicate.h |
| Related sample code |
NSComparisonPredicate is a subclass of NSPredicate that you use to compare expressions.
You use comparison predicates to compare the results of two expressions. You create a comparison predicate with an operator, a left expression, and a right expression. You represent the expressions using instances of the NSExpression class. When you evaluate the predicate, it returns as a BOOL value the result of invoking the operator with the results of evaluating the expressions.
+ predicateWithLeftExpression:rightExpression:customSelector:
+ predicateWithLeftExpression:rightExpression:modifier:type:options:
– initWithLeftExpression:rightExpression:customSelector:
– initWithLeftExpression:rightExpression:modifier:type:options:
Returns a new predicate formed by combining the left and right expressions using a given selector.
+ (NSPredicate *)predicateWithLeftExpression:(NSExpression *)lhs rightExpression:(NSExpression *)rhs customSelector:(SEL)selector
The left hand side expression.
The right hand side expression.
The selector to use for comparison. The method defined by the selector must take a single argument and return a BOOL value.
A new predicate formed by combining the left and right expressions using selector.
NSComparisonPredicate.hCreates and returns a predicate of a given type formed by combining given left and right expressions using a given modifier and options.
+ (NSPredicate *)predicateWithLeftExpression:(NSExpression *)lhs rightExpression:(NSExpression *)rhs modifier:(NSComparisonPredicateModifier)modifier type:(NSPredicateOperatorType)type options:(NSUInteger)options
The left hand expression.
The right hand expression.
The modifier to apply.
The predicate operator type.
The options to apply (see “NSComparisonPredicate Options”). For no options, pass 0.
A new predicate of type type formed by combining the given left and right expressions using the modifier and options.
NSComparisonPredicate.hReturns the comparison predicate modifier for the receiver.
- (NSComparisonPredicateModifier)comparisonPredicateModifier
The comparison predicate modifier for the receiver.
The default value is NSDirectPredicateModifier.
NSComparisonPredicate.hReturns the selector for the receiver.
- (SEL)customSelector
The selector for the receiver, or NULL if there is none.
NSComparisonPredicate.hInitializes a predicate formed by combining given left and right expressions using a given selector.
- (id)initWithLeftExpression:(NSExpression *)lhs rightExpression:(NSExpression *)rhs customSelector:(SEL)selector
The left hand expression.
The right hand expression.
The selector to use. The method defined by the selector must take a single argument and return a BOOL value.
The receiver, initialized by combining the left and right expressions using selector.
NSComparisonPredicate.hInitializes a predicate to a given type formed by combining given left and right expressions using a given modifier and options.
- (id)initWithLeftExpression:(NSExpression *)lhs rightExpression:(NSExpression *)rhs modifier:(NSComparisonPredicateModifier)modifier type:(NSPredicateOperatorType)type options:(NSUInteger)options
The left hand expression.
The right hand expression.
The modifier to apply.
The predicate operator type.
The options to apply (see “NSComparisonPredicate Options”). For no options, pass 0.
The receiver, initialized to a predicate of type type formed by combining the left and right expressions using the modifier and options.
NSComparisonPredicate.hReturns the left expression for the receiver.
- (NSExpression *)leftExpression
The left expression for the receiver, or nil if there is none.
NSComparisonPredicate.hReturns the options that are set for the receiver.
- (NSUInteger)options
The options that are set for the receiver.
NSComparisonPredicate.hReturns the predicate type for the receiver.
- (NSPredicateOperatorType)predicateOperatorType
The predicate type for the receiver.
NSComparisonPredicate.hReturns the right expression for the receiver.
- (NSExpression *)rightExpression
The right expression for the receiver, or nil if there is none.
NSComparisonPredicate.hThese constants describe the possible types of modifier for NSComparisonPredicate.
typedef enum {
NSDirectPredicateModifier = 0,
NSAllPredicateModifier,
NSAnyPredicateModifier,
} NSComparisonPredicateModifier;
NSDirectPredicateModifierA predicate to compare directly the left and right hand sides.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSAllPredicateModifierA predicate to compare all entries in the destination of a to-many relationship.
The left hand side must be a collection. The corresponding predicate compares each value in the left hand side with the right hand side, and returns NO when it finds the first mismatch—or YES if all match.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSAnyPredicateModifierA predicate to match with any entry in the destination of a to-many relationship.
The left hand side must be a collection. The corresponding predicate compares each value in the left hand side against the right hand side and returns YES when it finds the first match—or NO if no match is found
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
These constants describe the possible types of string comparison for NSComparisonPredicate. These options are supported for LIKE as well as all of the equality/comparison operators.
enum {
NSCaseInsensitivePredicateOption = 0x01,
NSDiacriticInsensitivePredicateOption = 0x02,
NSNormalizedPredicateOption = 0x04,
NSLocaleSensitivePredicateOption = 0x08
};
NSCaseInsensitivePredicateOptionA case-insensitive predicate.
You represent this option in a predicate format string using a [c] following a string operation (for example, "NeXT" like[c] "next").
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSDiacriticInsensitivePredicateOptionA diacritic-insensitive predicate.
You represent this option in a predicate format string using a [d] following a string operation (for example, "naïve" like[d] "naive").
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSNormalizedPredicateOptionIndicates that the strings to be compared have been preprocessed.
This option supersedes NSCaseInsensitivePredicateOption and NSDiacriticInsensitivePredicateOption, and is intended as a performance optimization option.
You represent this option in a predicate format string using a [n] following a string operation (for example, "WXYZlan" matches[n] ".lan").
NSLocaleSensitivePredicateOptionIndicates that strings to be compared using <, <=, =, =>, > should be handled in a locale-aware fashion.
You represent this option in a predicate format string using a [l] following one of the <, <=, =, =>, > operators (for example, "straße" >[l] "strasse").
Defines the type of comparison for NSComparisonPredicate.
typedef enum {
NSLessThanPredicateOperatorType = 0,
NSLessThanOrEqualToPredicateOperatorType,
NSGreaterThanPredicateOperatorType,
NSGreaterThanOrEqualToPredicateOperatorType,
NSEqualToPredicateOperatorType,
NSNotEqualToPredicateOperatorType,
NSMatchesPredicateOperatorType,
NSLikePredicateOperatorType,
NSBeginsWithPredicateOperatorType,
NSEndsWithPredicateOperatorType,
NSInPredicateOperatorType,
NSCustomSelectorPredicateOperatorType,
NSContainsPredicateOperatorType,
NSBetweenPredicateOperatorType
} NSPredicateOperatorType;
NSLessThanPredicateOperatorTypeA less-than predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSLessThanOrEqualToPredicateOperatorTypeA less-than-or-equal-to predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSGreaterThanPredicateOperatorTypeA greater-than predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSGreaterThanOrEqualToPredicateOperatorTypeA greater-than-or-equal-to predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSEqualToPredicateOperatorTypeAn equal-to predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSNotEqualToPredicateOperatorTypeA not-equal-to predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSMatchesPredicateOperatorTypeA full regular expression matching predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSLikePredicateOperatorTypeA simple subset of the MATCHES predicate, similar in behavior to SQL LIKE.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSBeginsWithPredicateOperatorTypeA begins-with predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSEndsWithPredicateOperatorTypeAn ends-with predicate.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSInPredicateOperatorTypeA predicate to determine if the left hand side is in the right hand side.
For strings, returns YES if the left hand side is a substring of the right hand side . For collections, returns YES if the left hand side is in the right hand side .
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSCustomSelectorPredicateOperatorTypeA predicate that uses a custom selector that takes a single argument and returns a BOOL value.
The selector is invoked on the left hand side with the right hand side as the argument.
Available in Mac OS X v10.4 and later.
Declared in NSComparisonPredicate.h.
NSContainsPredicateOperatorTypeA predicate to determine if the left hand side contains the right hand side.
Returns YES if [lhs contains rhs]; the left hand side must be an NSExpression object that evaluates to a collection
Available in Mac OS X v10.5 and later.
Declared in NSComparisonPredicate.h.
NSBetweenPredicateOperatorTypeA predicate to determine if the right hand side lies at or between bounds specified by the left hand side.
Returns YES if [lhs between rhs]; the right hand side must be an array in which the first element sets the lower bound and the second element the upper, inclusive. Comparison is performed using compare: or the class-appropriate equivalent.
Available in Mac OS X v10.5 and later.
Declared in NSComparisonPredicate.h.
Last updated: 2009-10-14