On Sep 8, 2010, at 12:02 PM, cocoa-dev-requ...@lists.apple.com wrote: > It's not YES that's being "returned as" -256, but NO. (The answer is NO in > all 3 cases.) -256 is 0xFFFFFF00, so you can see that NO (i.e. (signed char) > 0) is being correctly returned in the low order byte, with trash in the high > order bytes that's left over from earlier code. > > So, the problem is not your 'isLessThanZero' method, but the calling code, > which is treating the returned value as an int (or something). Presumably the > calling code was compiled with an incompatible declaration of your method, or > of the BOOL type.
Thanks Quincey, your suggestion got me looking at the calling model and I got it working by first assigning the result as a BOOL rather than just using the result inside of an if logic statement like so... // ========== Did NOT Work =========// if ([theDecimalNumber isLessThanZero]) { ... do something } // ========== DID Work =========// BOOL theResult = [theDecimalNumber isLessThanZero]; if (theResult) { ... do something } I must admit that I do not understand why this is so. I can for example use if ([someButton isEnabled]) and it returns a BOOL and the if statement works fine. If you have any pointers or docs that explains this further I would really appreciate it as right now I feel scared about how I have been evaluating BOOL's returned in all of my own custom methods. --chris_______________________________________________ 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