PDA

View Full Version : NSPredicateEditor Issues




stadidas
Mar 16, 2009, 12:32 PM
Hi all,

I have been having fun today with NSPredicateEditor, but have run in to a couple of problems.
In Interface Builder I have an NSPredicateEditorRowTemplate setup to accept Number inputs. However, the default implementation creates the row template with the rightExpressionAttributeType set to NSInteger64AttributeType. I need to set it to NSDecimalAttributeType in order to evaluate the predicate with decimal values. The problem is I can not find out where to set or initialise this value. None of the listed init methods appear to be called in my row template subclass that I created to try and solve this problem.

I am also having an issue when an NSPredicateEditorRowTemplate is set to take date inputs. When a date is set, the array I am filtering using the created predicate is filtered with only objects that match the exact date including the time i.e if the date in the row template is set to today, only objects with a date that is today at midnight will be included after filtering. Does anyone know how to customise this behaviour so that it will include objects where the date is the same, but the time isn't?

As always, any help will be gratefully received :)



stadidas
Mar 19, 2009, 02:00 PM
It's been two days, and I'm no closer to fixing these issues. Doesn't anyone have any experiecne with NSPredicateEditor?

Bakerman
Mar 19, 2009, 02:38 PM
I'd say the solution to both your problems involves subclassing. Unfortunately in many cases the available methods to override are insufficient; I've had to resort to meddling with the actual predicate string. Overriding both setPredicate and predicateWithSubpredicates will let you do this...

stadidas
Mar 19, 2009, 05:35 PM
OK, thanks; I will look into this. It seems odd that there is no way in IB or code to set the rightExpressionAttributeType to decimal though.