I have a need to map char values to int values in Objective-C. I know NSDictionary is out because it deals with reference types, and these are values. The map will be used while iterating through an NSString. Each character in the string will be converted to an integer value. All the integers will be summed together.
Using NSDictionary seems like a bad fit because of all the type coercion I’d have to do. (Converting values types, char and int, to reference types.)
I figure I’ll have to drop down to C to do this, but my experience with C libraries is very limited.
Is there something most C developers use that will map char values to int values?
Edit for clarification
The C# equivalent would be a Dictionary<char,int>.
In pseudocode, I’d like to the following:
for (int i = 0; i < [string length]; i++) {
char current = [string characterAtIndex:i];
int score = map[current]; // <- I want map without boxing
// do something with score
}
If I understand correctly, you want to store
chars andints in a dictionary, as keys and values. However, NSDictionary only accepts objects. The solution? Wrap thechars andints in theNSNumberobject:Or if you don’t want boxing, why not just make a function that takes
chars and returnsints?