On 23/04/2010, at 1:36 AM, Arnold Nefkens wrote:

> NSNumber *fieldOne = [managedObject valueForKey:@"key1"];
> NSNumber *fieldTwo = [managedObject valueForKey:@"key2"];
> NSNumber *fieldThree = [managedObject valueForKey:@"key3"];
> if (fieldTwo > 0) {
>       NSNumber *answer = ((fieldTwo - fieldOne) + fieldThree);
>       [self.managedObject setValue:[answer intValue] forKey:@"key4"];
> }
> 
> If I debug the right values are being shown in the fieldOne, fieldTwo and 
> fieldThree. But the calculation answer is all the time out of scope.....
> 
> What am I missing?


NSNumbers are objects that CONTAIN the value to be added, subtracted, etc. They 
cannot be added or subtracted directly.

You need to extract the value in the form you want it using methods such as 
-floatValue, -intValue and so on before doing calculations. Unfortunately 
perhaps, Obj-C does not allow operator overloading to allow direct use of 
objects in math expressions.

--Graham


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to