Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How KVC Converts Strings to Numeric Types

DZone's Guide to

How KVC Converts Strings to Numeric Types

The fast answer to a complicated question

· Mobile Zone
Free Resource

Thanks to a recent discussion on Stack Overflow, I now understand how KVC is able to automatically convert string values to numeric types. As documented by Apple:

...setValue:forKey: determines the data type required by the appropriate accessor or instance variable for the specified key. If the data type is not an object, then the value is extracted from the passed object using the appropriate -Value method.

For example, if the type of the property being set is int:

@property int index;

KVC will call the intValue method on the given value object to convert it to the appropriate type before setting the property value:

[self setValue:@"10" forKey:@"index"]; // calls intValue on "10"

Thanks very much to Stack Overflow user CRD for providing the answer!

Topics:
objective-c ,mobile

Published at DZone with permission of Greg Brown, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}