-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
COObject API to make it easier to use/discover COCopier #47
Comments
Any comments about this suggestion? Should I close it or keep it around? |
IIRC, the main reason I wanted COCopier to be a separate class was to enforce that it's not accessing private COObject state or doing any magic. I think there is some value in this for the API user as well (you can tell it's implemented using public API, or at least it's likely). What about just adding those convenience methods to
I'm fine with them in COObject too, but I feel this is a bit better (less object oriented, more modular) |
Sounds good to me. In addition, I would probably move COCopier to StorageDataModel along COItem, since COCopier doesn't really belong to the high-level API. It looks like we keep it in Core to make it discoverable. If we move it to StorageDataModel, then we could add the methods you suggest in a category like COCopier+Core or COCopier+Object. If we go with this solution, should we put this category into COObject.h/m files or into standalone files? I'm in favor of tweaking the methods naming a bit too:
|
Yep, agree on all points.. the COObject copying method could go in |
ok, let do this then :-) |
In EtoileUI, the base persistent class (ETUIObject) implements the following:
Not really convinced we should do it, but it could be interesting to have -copyToObjectGraphContext: moved up into COObject.
If we don't change the API, we should probably have a line in COObject class description pointing to COCopier doc where we show how to leverage COCopier and implement copying logic like -copyToObjectGraphContext:.
The text was updated successfully, but these errors were encountered: