Цель C: Ожидаемый метод для чтения элемента словаря, не найденного в объекте типа id‹NSObject›

- (NSInteger)countForItem:(id<NSObject>)item {
    return [item[CountKey] integerValue];
}

Это вызывает ошибку «Ожидаемый метод чтения элемента словаря не найден в объекте типа id<NSObject>

CountKey объявлен как: static NSString *CountKey = @"count";

Любая помощь будет принята с благодарностью. Спасибо!


person API-Andy    schedule 16.05.2020    source источник


Ответы (1)


Кажется, объект, который вы передаете (item), не является словарем. Это предупреждение времени выполнения или предупреждение времени компиляции? Если возможно, вы можете вместо этого изменить параметр на NSDictionary (предпочтительный способ). Если нет, вы можете ввести его в NSDictionary.

return [(NSDictionary*)(item)[CountKey] integerValue];
person lupdidup    schedule 16.05.2020
comment
Спасибо, что указали мне правильное направление. Я преодолел ошибку. - person API-Andy; 16.05.2020