On Sep 1, 2014, at 4:51 AM, Dave <[email protected]> wrote:

> I have a method that takes a String and depending on it’s value needs to 
> return an NSTextAlignment type. However, if the string is invalid, then I 
> want to indicate that an error so I pass back -1. This is fine expect I get 
> warnings on this code:
> 
> if (myTextAllignment != -1)
>       theFieldOutlet.textAlignment = myTextAllignment;
> 
> Warning:
> 
> Comparison of constant -1 with expression of type 'NSTextAlignment' (aka 
> 'enum NSTextAlignment') is always true
> 
> What is the best way to fix this?

NSTextAlignment in declared in NSText.h, as you will see by looking at the 
constants section of the doc. It is an NSUInteger, so obviously trying to push 
-1 is an issue. If you don't want to return a proper NSTextAlignment value in 
some instances, than the property should not be declared as an NSTextAlignment 
type, because clearly it is not. You can change the type to NSInteger, but that 
may not be future-proof. The truly best approach, IMHO, is to catch the error 
at the point it occurs, rather than relying on a fragile, interpreted value. 
E.g. having a method:
        - (BOOL)parseTextAlignment:(NSTextAlignment *)alignPtr
is a smarter way to go (IMHO).

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to