Thanks. Maybe I should have made myself a little more clear. I don't want to iterate over the array, but filter the array using a NSPredicate.
I'm looking at the Predicate Programming Guide, which only gives basic guidance, and the docs for NSExpression. It has several class methods that "sound right" (expressionForEvaluatedObject:, expressionForAggregate:, expressionForSubquery:usingIteratorVariable:predicate:, expressionForFunction:arguments:) but provides no examples how to use them. Unfortunately Google has very little to say on this subject too. To repeat the problem: I want to check the value of all keys in every dictionary contained by an array and see if they match my search string. A workaround to compensate for my syntax ignorance would be to add a new instance method to my custom class that simply return all the values I want to check in a single array. Then I could query it with a simple single-relationship predicate: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(%@ IN values, searchString)"]; NSArray filteredArray = [myArray filteredArrayUsingPredicate:predicate]; But somehow I believe there is a more direct way to do this, without having to add a new "helper method" to my class? I'm perfectly happy with a 10.5 only solution. Thanks. On Mon, Jul 28, 2008 at 8:30 AM, Graham Cox <[EMAIL PROTECTED]> wrote: > > On 28 Jul 2008, at 1:52 pm, Omar Qazi wrote: > >> To be honest, I don't know if this will work, since I don't know if >> containsObject is checking if the argument is a pointer to an object in the >> array, or if it is equal to the object, but it's better than nothing, I >> guess. > > > From the docs: > > containsObject: > Returns a Boolean value that indicates whether a given object is present in > the receiver. > > - (BOOL)containsObject:(id)anObject > > Parameters > > anObject > An object. > > Return Value > YES if anObject is present in the receiver, otherwise NO. > > Discussion > This method determines whether anObject is present in the receiver by > sending an isEqual: message to each of the receiver's objects (and passing > anObject as the parameter to each isEqual: message). > > Availability > • Available in Mac OS X v10.0 and later. > > > > > cheers, Graham _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]