How to return NSNumber converted to NSInteger
When NSNumber is a class, I am trying to convert it to NSInteger to do some computation. In NSLog, this shows that I am converting and multiplying correctly. However, when I had to return the doubler as a normal NSInteger, I get: "The implicit conversion" NSInteger "(" long ") to" NSNumber * "is prohibited by ARC". Where am I going wrong and what should I do to get it right?
- (NSNumber *) numberThatIsTwiceAsBigAsNumber:(NSNumber *)number {
NSInteger doubler = [number integerValue] * 2;
NSLog(@"%ld", (long)doubler);
return doubler;
}
EDIT: For the curious, this is how I solved it:
NSInteger unboxing = [number integerValue] * 2;
NSNumber *boxing = [NSNumber numberWithInteger:unboxing];
return boxing;
+3
source to share