Converting from scalar to NSNumber*
Converting from scalar to NSNumber*
- Subject: Converting from scalar to NSNumber*
- From: Rick Mann <email@hidden>
- Date: Fri, 27 Feb 2015 16:28:58 -0800
I'm updating some older Core Data code in which I made liberal use of transient properties to map NSNumber* types to scalar types like uint32_t. In practice, this doesn't gain much, especially with boxing syntax, and it makes the Core Data classes messier (shadow attributes, etc.).
The problem is, if I change an attribute's type to NSNumber*, and fail to modify every reference to that attribute, I often end up comparing pointers, not values:
@property (strong) NSNumber* someAttribute;
if (obj.someAttribute > 42)
which needs to become:
if (obj.someAttribute.integerValue > 42)
I'd love an explicit warning for misuse of NSNumber*, but a pointer-integer comparison warning would be helpful. However, I don't see that among the available warnings in Xcode.
Any suggestions on how to better deal with this? Thanks!
--
Rick Mann
email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden