I am trying to set a value in core data using setValue:forKey:
but it is throwing an error:
(Use of undeclared identifier: 'newID'}
when trying to save an NSInteger. Can anyone suggest the correct syntax?
NSInteger newID = lastID+1;
[record setValue:newID forKey:@"localid"];//error
Got similar error when I tried setObject
instead of setValue
NSInteger
is a primitive type, not an object. You should box it into an NSNumber
like this:
NSInteger newID = lastID+1;
[record setValue:@(newID) forKey:@"localid"];
And you can convert back like this:
NSInteger recordId = [((NSNumber*)[record valueForKey:@"localid"]) integerValue]