ftchirou/PredicateKit

Not able to compare an object that is not a primitive

Opened this issue · 2 comments

I'm getting this warning:

Operator function '==' requires that 'User' conform to 'Primitive'

When trying to compare an object within a predicate

Example:
var predicate = (\CustomItemEntry.owner) == user

where owner/user are NSManagedObjects

Yes, for the moment you can only compare primitives. In your case, see if you can just compare a property that holds a unique value; perhaps an id: \CustomItemEntry.owner.id == user.id. I'll investigate whether it's worth adding an overload of == for Identifiables for cases like this.

Fixed in the latest release. You will now be able to compare objects that conform to Identifiable.