I finally worked out a solution to this problem, but it is a real hack. If you're interested in details, I can write it all up.
However, in a nutshell, what I do is as follows:
in any entity which contains an attribute that is used in the computation for the computed property, I use the validateForXXX methods to register changes. (The registration process is part of my CoreDataStack.)
The entity which has the "computed" properties maintains real attributes with the computed values. The entity registers for notification for changes and performs the computations necessary to update the real (stored) values as appropriate.
In this way, I am able to use a stored attribute (which can be the target of the find or sort operation) which is kept up to date. It's definitely kludgy (and requires more infrastructure that needs to be implemented correctly and consistently that I'd like), but I am finding it to be reliable.
Again, I'll prepare a writeup if you're interested.
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags: