Ответ 1
Поскольку NSDictionarys предназначены только для работы с объектами, простой способ сделать это - обернуть целое число и float в NSNumber объект. Например:
NSMutableDictionary *testDictionary = [[NSMutableDictionary alloc] init];
[testDictionary setObject:[NSNumber numberWithFloat:1.23f]
forKey:[NSNumber numberWithInt:1]];
NSLog(@"Test dictionary: %@", testDictionary);
[testDictionary release];
Чтобы извлечь соответствующее значение, просто используйте соответствующий метод intValue, floatValue и т.д. из класса NSNumber.