NSDictionary и предупреждение о «указателе из целого числа без приведения»

#objective-c #cocoa #warnings #nsdictionary

#objective-c #cocoa #предупреждения #nsdictionary

Вопрос:

Я вижу, что на эту тему есть куча сообщений, но решение не приходит мне в голову. Вот моя проблема:

 double var = [[variables objectForKey:[value characterAtIndex:1]] doubleValue];
  

переменные — это NSDictionary . value в этой ситуации это NSString и мне нужно characterAtIndex:1 , потому что я добавил к строке специальное обозначение. На английском языке я хочу получить значение из my, NSDictionary основанное на этом NSString ключе, но я получаю это предупреждение при сборке:

предупреждение: передача аргумента 1 из ‘objectForKey:’ создает указатель из целого числа без приведения

Комментарии:

1. У вас есть какие-нибудь примеры value ? У меня такое чувство, что вы пытаетесь удалить первый символ строки, прежде чем использовать его в качестве ключа, это правильно?

Ответ №1:

characterAtIndex: возвращает символ unichar, а не объект, в то время как ключи NSDictionary должны быть объектами. Звучит так, как будто вы хотите что-то вроде [value substringToIndex:1] .