Как я могу использовать целочисленное значение как "ключ" для установки значения float в NSMutableDictionary?
Как я могу использовать целочисленное значение как "ключ" для установки значения в NSMutableDictionary?
Ответ 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.
Ответ 2
Вы можете использовать NSMapTable, так как он поддерживает целые ключи и/или значения напрямую. Не нужно вставлять/распаковывать через NSNumber, но его также немного сложнее настроить и использовать.
Ответ 3
Он должен быть объектом, поэтому вместо него используйте [NSNumber numberWithInt:myInteger]
.
Затем верните его с помощью -integerValue