ios - desired type NSNumber given type __NSCFString error -
i'm getting core data error can't figure out how fix.
i pulling out data of object dictionary, showing data form, , fields allow editing, trying store data object on submission.
however, on setting new/updated values error
unacceptable type of value attribute: property = "totallocations"; desired type = nsnumber; given type = __nscfstring; value = 7.
here code handles particular property...
//grab value property if (myobject.totallocations) [data setobject:myobject.totallocations forkey:@"totallocations"]; // store object _myobject.totallocations = [data objectforkey:@"totallocations"]; aside these 2 lines there isn't usage of property. can modified, not user on particular screen
is type of totallocations in core data entity integer , myobject.totallocations nsstring? if yes should set core data this:
[data setvalue:[nsnumber numberwithinteger:[myobject.totallocations integervalue]] forkey:@"totallocations"]; the way set managed objects this:
- (void)insertnewpromo:(nsdictionary *)promojson { nsmanagedobjectcontext *context = [self.promofetchedresultscontroller managedobjectcontext]; nsentitydescription *entity = [[self.promofetchedresultscontroller fetchrequest] entity]; nsmanagedobject *newmanagedobject = [nsentitydescription insertnewobjectforentityforname:[entity name] inmanagedobjectcontext:context]; // checking if inappropriate data in json avoid crashes. if ([[promojson objectforkey:@"id"] iskindofclass:[nsnull class]]) [newmanagedobject setvalue:nil forkey:@"id"]; else [newmanagedobject setvalue:[nsnumber numberwithinteger:[[promojson objectforkey:@"id"] integervalue]] forkey:@"id"]; ... ... nserror *error = nil; if (![context save:&error]) { if (debug_on == 1) nslog(@"unresolved error %@, %@", error, [error userinfo]); abort(); } } the id object of promojson nsstring
Comments
Post a Comment