iphone - Core data doesn't fetch objects -
hello here nsfetchedresultscontroller implementation:
-(nsfetchedresultscontroller *)fetchedresultscontroller { if (_fetchedresultscontroller != nil) { homecoming _fetchedresultscontroller; } nslog(@"context - %@",self.context); nsfetchrequest *fetchrequest = [[nsfetchrequest alloc] init]; nsentitydescription *entity = [nsentitydescription entityforname:@"categories" inmanagedobjectcontext:self.context]; [fetchrequest setentity:entity]; nssortdescriptor *sort = [[nssortdescriptor alloc] initwithkey:@"name" ascending:yes]; [fetchrequest setsortdescriptors:@[sort]]; [fetchrequest setfetchbatchsize:20]; nsfetchedresultscontroller *thefetchedresultscontroller = [[nsfetchedresultscontroller alloc] initwithfetchrequest:fetchrequest managedobjectcontext:self.context sectionnamekeypath:nil cachename:@"root"]; _fetchedresultscontroller = thefetchedresultscontroller; _fetchedresultscontroller.delegate = self; // [[self context] fetchobjectsforentityname:@"categories" withpredicate: // nil] ; homecoming _fetchedresultscontroller; } fetchedresultscontroller.fetchedobjects nil. here how i'm adding objects:
-(void)addcategorywithname:(nsstring *)name { nslog(@"context - %@",self.context); categories *category = (categories *)[nsentitydescription insertnewobjectforentityforname:@"categories" inmanagedobjectcontext:self.context]; category.name = name; nslog(@"category name - %@",category.name); category.displayorder = [nsnumber numberwithfloat:1.0f]; // site.displayorder = displayorder; nserror __block *error; if (![self.context save:&error]){ nslog(@"error saving - %@", [error localizeddescription]); } } there no error, no nothing. if see .sqlite file in documents directory it's modified, can't objects fetched. weird, i'm using fundamentally same codes other app , works fine.
any ideas?
you have phone call performfetch on fetched results controller once. otherwise not fetch , not track changes. illustration add
nserror *error; if (![_fetchedresultscontroller performfetch:&error]) { // error handling } at end of fetchedresultscontroller getter method.
remark: seems specifying cachename without sectionnamekeypath can cause problems, see uitableview nsfetchedresultscontroller not load sec time. since cache used cache section information, not needed anyway if don't have sections.
update: preceding remark no longer valid, turned out problems in linked question had different cause.
iphone ios core-data
No comments:
Post a Comment