• 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: Predicates
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Predicates


  • Subject: Re: Predicates
  • From: Keith Penrod <email@hidden>
  • Date: Thu, 27 Dec 2007 09:09:49 -0700


On Dec 26, 2007, at 9:40 PM, mmalc crawford wrote:


On Dec 26, 2007, at 8:14 PM, Keith Penrod wrote:

In Interface Builder. I just type it into the "fetch predicate" box in the inspector window. I'm currently trying to figure out how I can make an outlet in the controller class that links to the search field and tells it to update the fetchPredicate when it notices a change in the search box, but I'm not sure how to do that.

Sorry, but this shows precisely why it's important to learn Cocoa's design patterns etc. in an ordered fashion. If you start to try to use frameworks that are labeled as "advanced" without having mastered the basics, then you won't know where or how to customise your application...

There are two ways to set up the search field, using target-action or using bindings (see <http://developer.apple.com/documentation/Cocoa/Conceptual/SearchFields/Articles/ConfiguringTargetAction.html#//apple_ref/doc/uid/20002073 > and <http://developer.apple.com/documentation/Cocoa/Reference/CocoaBindingsRef/Concepts/BindingTypes.html#//apple_ref/doc/uid/20002305-216985 > respectively).

In either case, you can implement the set accessor method (that's invoked when the search field changes) to update the tree controller's fetch predicate accordingly (you need an outlet to the controller, then send it setFetchPredicate: <http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSObjectController_Class/Reference/Reference.html#//apple_ref/occ/instm/NSObjectController/setFetchPredicate: >). If there's no predicate associated with the search field, then the predicate should be "parent==nil", otherwise it's whatever is in the search field. You can then re-fetch the tree controller's content (<http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSObjectController_Class/Reference/Reference.html#//apple_ref/occ/instm/NSObjectController/fetch: >).

mmalc


I'm sorry, but that is the entire reason I never read Apple's documentation. The article about target-action doesn't say anything at all about how to configure the search box, only that it's something you should do. I've already set up the binding properly, so the search box works fine--but only when it's non-empty. If I could figure out a way to make the search box actually do something when it's empty or figure out where I need to implement this action that's apparently notified when the search field changes, then I'd be great. But that's exactly what I have no idea how to do, and none of the articles listed say anything about that.


Keith
_______________________________________________

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: Predicates
      • From: "Ken Ferry" <email@hidden>
References: 
 >Predicates (From: Keith Penrod <email@hidden>)
 >Re: Predicates (From: mmalc crawford <email@hidden>)
 >Re: Predicates (From: Keith Penrod <email@hidden>)
 >Re: Predicates (From: mmalc crawford <email@hidden>)
 >Re: Predicates (From: Keith Penrod <email@hidden>)
 >Re: Predicates (From: mmalc crawford <email@hidden>)

  • Prev by Date: Re: Scripting Bridge && filteredArrayUsingPredicate
  • Next by Date: Re: Using Bindings with C++ objects
  • Previous by thread: Re: Predicates
  • Next by thread: Re: Predicates
  • Index(es):
    • Date
    • Thread