iphone - Help me to get the result based on condition -
i have created users class based on nsmanagedobject following attributes (id,name,age etc).
i using core data model not sure how follwing...
now know how can user detail based on user id.
example: select * users id = 1
please me out.
you should use nspredicate
class executing sql commands. code:
nsmanagedobjectcontext *context = self.managedobjectcontext; // specify moc object nsfetchrequest *fetchrequest = [[nsfetchrequest alloc] init]; nsentitydescription *entity = [nsentitydescription entityforname:@"users" inmanagedobjectcontext:context]; // specify entity (table) nspredicate *predicate = [nspredicate predicatewithformat:@"id == %d",yourid]; // specify condition (predicate) [fetchrequest setentity:entity]; [fetchrequest setpredicate:predicate]; nserror *error = nil; nsarray *array = [context executefetchrequest:fetchrequest error:&error]; // execute [entity release]; [predicate release]; [fetchrequest release]; if (array == nil) { // error: no objects returned } else { // success: whatever want }
step 1: alloc/init nsfetchrequest
you need alloc/init nsfetchrequest object if want execute queries.
step 2: select entity
if want specify select * users ...
, should use nsentitydescription
:
nsentitydescription *entity = [nsentitydescription entityforname:@"users" inmanagedobjectcontext:context];
at end need 'attach' entity description nsfetchrequest object via:
[fetchrequest setentity:entity];
step 3: condition
if want have condition (e.g. ... id = 1
), have implement nspredicate
.
nspredicate *predicate = [nspredicate predicatewithformat:@"id == %d",yourid];
yourid
must number (e.g. 1
, 2
, 7
or 46
).
and, again:
[fetchrequest setpredicate:predicate];
step 4: let's execute it!
nsarray *array = [context executefetchrequest:fetchrequest error:&error];
all records meet conditions returned array of nsmanagedobjects.
step 5: release objects
[entity release]; [predicate release]; [fetchrequest release];
step 6: something
if there no objects meet conditions, array
object nil
. can check , deal error via:
if (array == nil)
check out core data programming guide more info. :)
Comments
Post a Comment