iphone - CoreData best practices -


i'm using coredata in latest iphone app. find complex @ beginning guess best choice when need store objects in iphone app (http://inessential.com/2010/02/26/on_switching_away_from_core_data).

is there best practices when using coredata in iphone app? example, don't want controllers deal nsmanagedobjectcontext need when want make requests. define class coredata requests?

i create dedicated object manage core data stack , related objects , behaviors. useful because there lot of boiler plate core data can make generic base manager class , use subclass each app. call appnamedatamodel.

i prefer hide managed object context inside datamodel object. forces other objects in app ask datamodel object access core data stack gives encapsulation , safety.

usually, create methods in datamodel class return fetches entities e.g.

-(nsfetchrequest *) entitynamefetch; 

... , have performfetch method in datamodel. in use, controller ask fetch entity, configures fetch , ask datamodel perform fetch , return results. can script generation of methods return fetch , perform fetch boiler plate well. saves lot of time when prototyping.

a reference datamodel instance can passed controller controller think valid use of singleton pattern make datamodel singleton , provide category on uiviewcontroller property access it. means view controller add project automatically has access datamodel.

this pattern keeps nicely encapsulated , modular. makes easy add new views or share data model between projects. takes little work set once have base class, future use massively sped up.


Comments

Popular posts from this blog

windows - Why does Vista not allow creation of shortcuts to "Programs" on a NonAdmin account? Not supposed to install apps from NonAdmin account? -

c++ - How do I get a multi line tooltip in MFC -

unit testing - How to mock PreferenceManager in Android? -