• 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 & live filtering question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSPredicate & live filtering question


  • Subject: Re: NSPredicate & live filtering question
  • From: Mic Pringle <email@hidden>
  • Date: Fri, 13 Mar 2009 13:20:58 +0000

I think in order for this to work you have to makesure you have a
key/value compliant getter & setter for the boolean value and then in
the code you have to use

[someObject setValue: ForKey:];

This will then notify any observers (i.e your array controller) that
the value has changed and update it accordingly.

-Mic

2009/3/13 Shamyl Zakariya <email@hidden>:
> Hi,
>
> I'm belatedly dipping my toes into NSPredicate to do some array filtering. I
> have an array of objects which have (among other things) a boolean property.
> In my UI, I have three tables:
>
> 1) The first table has all the entries in the array.
> 2) The second table uses an NSPredicate to filter the array and show only
> the entries where the boolean property is true.
> 3) The third table is the opposite of #2, it shows entries where the boolean
> property is false.
>
> For clarity: I'm using a unique NSArrayController for each of the above,
> instantiated in my nib file.
>
> So on load, the boolean property is set by some simple image processing (
> I'm filtering a folder of images into two sets based on analysis of the
> images' pixels ).
>
> So far, this works. I see the right images showing up in the aforementioned
> tables.
>
> However, I'd like to be able to manually override the results of the image
> processing -- say due to false positive or whatever -- and as such I put a
> checkbox in the first table ( the "all" table ) which toggles that boolean
> property.
>
> The trouble is that toggling that boolean property on an entry doesn't
> update the contents of the two filtered arrays.
>
> I figure there's got to be some way to make the array controllers for those
> filtered tables know that the values have changed. In the past, I've done
> some kind of hacky stuff to make this work, such as binding a faux property
> in my app/doc controller to the array controller using
> "arrangeObjects.propertyName" -- then in my +initialize method I passed
> those faux properties to setKeys: triggerChangeNotificationsForDependentKey:
> to get the change recognized.
>
> If something like that's really the only way to go, then that's fine. But I
> feel like there's got to be some way that's a little more elegant.
>
> Note: I'm not using core data -- my "model" is just an NSArray of my image
> processing objects.
>
> Thanks in advance,
>
>
> shamyl zakariya
>        "authentic frontier gibberish"
>
>
>
>
> _______________________________________________
>
> 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
>
_______________________________________________

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

References: 
 >NSPredicate & live filtering question (From: Shamyl Zakariya <email@hidden>)

  • Prev by Date: Re: why can't I see my layer?
  • Next by Date: cocoa file APIs
  • Previous by thread: NSPredicate & live filtering question
  • Next by thread: cocoa file APIs
  • Index(es):
    • Date
    • Thread