2013-06-14 3 views
-1

Мне нужно хранить как объект NSRange, так и NSInteger внутри NSMutableDictionary?Хотите сохранить NSRange и NSInteger внутри NSMutableDictionry

Могу ли я это сделать?

Если да, не могли бы вы привести мне пример?

+0

конвертировать их в 'NSValue' или' NSNumber' –

+0

ли вы пытались сделать это? –

+5

Возьмите на себя риск для Google, прежде чем спросить! Похожие вопросы в SO –

ответ

4

Вы можете хранить NSInteger как NSNumber.

mutableDictionary[integerKey] = [NSNumber numberWithInteger:integer]; 

или даже лучше

mutableDictionary[integerKey] = @(integer); 

Для NSRange, используйте NSValue объект.

mutableDictionary[rangeKey] = [NSValue valueWithRange:range]; 
-1

Я использовал NSString как для NSRange и NSInteger, чтобы удалить использование путаницы это:

NSInteger i = 6; 
    NSRange range = NSMakeRange (25, 3); 
    NSMutableDictionary *dic =[[NSMutableDictionary alloc] init]; 
    [dic setObject:NSStringFromRange(range) forKey:@"range"]; 
    [dic setObject:[NSString stringWithFormat:@"%d",i] forKey:@"integer"]; 
    //How to get it... 
    NSRange range1 = NSRangeFromString([dic objectForKey:@"range"]) ; 
    NSInteger inte = [[dic objectForKey:@"integer"] integerValue]; 
+1

Пожалуйста, объясните перед голосованием. Это будет улучшать меня –

+1

Это неоптимальное решение, потому что оно включает в себя синтаксический разбор по-разному. Уже существует класс, доступный для решения того, что хочет OP. – borrrden