#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]
.