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

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

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -