Yes, distinctUnionOfObjects turned out to be the answer. Thanks to everyone who replied. The final answer was simple, though I cant take credit for coming up with it:
NSArray *allServers = [serverLibraryArrayController arrangedObjects]; NSLog(@"%@", [allServers valueForKeyPath:@"@distinctUnionOfObjects.address"]); Adam On Wed, Feb 27, 2008 at 12:52 PM, Adam P Jenkins <[EMAIL PROTECTED]> wrote: > Maybe the @distinctUnionOfObjects KVC operator can help. I'm not sure > you can use it if your ArrayController is bound directly to a > ManagedObjectContext, but if you had another entity with a > favoriteWebsites relationship, then you could access all of the unique > URLs from that relationship like this: > > Say the RootObject Entity has a favoriteWebsites relationship > property, and rootObject is an instance of RootObject. Then > > [rootObject > valueForKeyPath:@"[EMAIL PROTECTED]"] > > would return an array of all the URLs from favoriteWebsites, with > duplicates removed. So you could bind the Content Array for your > array controller and set the Model Key Path to > [EMAIL PROTECTED] > > Disclaimer: I've never tried this myself, I've only read about it. > You can read more at: > > > http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueCoding/Concepts/ArrayOperators.html > > > On Feb 26, 2008, at 7:34 PM, Adam Gerson wrote: > > > > > Thanks for the example. What I am looking for is slightly diferent. > > Lets say I have a entity called FavoriteWebsites with the attributes > > name and url. The current contents of the object are > > > > Name | URL > > --------------------------------------------- > > Sam | http://www.aol.com > > Adam | http://www.digg.com > > Jane | http://www.ibm.com > > John | http://www.aol.com > > > > > > I want to filter for only the unique values of url, so the list I want > > to get back for a separate table is > > > > http://www.digg.com > > http://www.ibm.com > > http://www.aol.com > > > > Perhaps NSPredicate is not my answer and I just need to maintain a > > separate array and do some manual checking for duplicates. > > > > On Tue, Feb 26, 2008 at 7:20 PM, Philip Bridson > > <[EMAIL PROTECTED]> wrote: > >> Hi there, > >> > >> It will only return results from itself. > >> > >> Its like the classic example of employee and department. If you had > >> a table > >> that you wanted to link to a list of employees you would bind to the > >> employee array controller and vice versa for the department one. > >> You cannot > >> bind against the department controller for the value of, for example, > >> "Employee Name". All the predicate does is filters the list based > >> on what > >> you want. e.g all employee with the name Joe. All you have to do is > >> set the > >> exact predicate in the object that you are going to bind against: > >> > >> - (NSPredicate *)predicate > >> { > >> NSString *salaryLimit = @"10000"; > >> > >> NSPredicate *predicate = [NSPredicate predicateWithFormat @"salary > >> > %@", > >> salaryLimit]; > >> > >> return predicate; > >> } > >> > >> Then when you bind your filter predicate to this method in your > >> file owner > >> the array will only return objects that have a value of 10000 set > >> in their > >> salary limit key. > >> > >> I hope I have been of assistance. > >> > >> Good luck, > >> > >> Phil. > >> > >> > >> > >> > >> On 27 Feb 2008, at 00:01, Adam Gerson wrote: > >> > >> I did look into NSPredicate and the Predicate Programming Guide. I > >> understand the concept of filtering the ArrayController. I just > >> didn't > >> know how to write en expression asking for all unique values from the > >> ArrayController for a given key. In the Predicate examples they > >> filter > >> a single potential result against some criteria. Can I say "only > >> return unique values from yourself"? > >> > >> > >> Adam > >> > >> > >> On Tue, Feb 26, 2008 at 6:03 PM, Philip Bridson > >> <[EMAIL PROTECTED]> wrote: > >> > >> > >> Yeah there is. > >> > >> From the documentation: > >> > >> > >> > >> You can set a predicate for an array controller to filter the > >> content array. > >> You can set the predicate in code (using setFilterPredicate:). You > >> can also > >> bind the array controller's filterPredicate binding to a method > >> that returns > >> an NSPredicate object. The object that implements the method may be > >> the > >> File's Owner or another controller object. If you change the > >> predicate, > >> remember that you must do so in a key-value observing compliant way > >> (see > >> Key-Value Observing Programming Guide) so that the array controller > >> updates > >> itself accordingly. > >> > >> You can also bind the predicate binding of an NSSearchField object > >> to the > >> filterPredicate of an array controller. A search field's predicate > >> binding > >> is a multivalue binding, described in Binding Types. > >> > >> Or simply, create a small method in a object, such as the file > >> owner, that > >> returns a NSPredicate. Then bind the controller's filter predicate > >> to the > >> file owners predicate method. This will automatically filter your > >> controllers values. > >> > >> Hope this helps. > >> > >> Phil. > >> > >> On 26 Feb 2008, at 22:00, Adam Gerson wrote: > >> > >> > >> > >> I have a core data object. I would like to populate a TableView with > >> only the unique entires for a specific property. Clearly I could > >> filter the results in code, I was wondering if there was away for > >> core > >> data and bindings to do it. > >> > >> Adam > >> _______________________________________________ > >> > >> 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/philipleebridson%40mac.com > >> > >> This email sent to [EMAIL PROTECTED] > >> > >> > >> > > _______________________________________________ > > > > 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/adam%40thejenkins.org > > > > This email sent to [EMAIL PROTECTED] > > > _______________________________________________ > > 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/agersonl%40gmail.com > > This email sent to [EMAIL PROTECTED] > _______________________________________________ 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]