Я беру данные с сервера. Мое приложение отлично работает в Sinulator и на тестовом устройстве iPhone 4s, но у одного человека возникла проблема с iPod 4. Он получил исключение:
-[__NSCFString objectForKeyedSubscript:]: unrecognized selector sent to instance 0x1d263a20
Я не могу использовать это устройство, поэтому я пишу код, чтобы узнать, где произошел сбой.
if (![dictionaryRest[@"compliments"] isEqual:[NSNull null]]) {
NSMutableArray *array = [NSMutableArray new];
NSMutableArray *firstArray = [NSMutableArray new];
for (NSDictionary *dic in dictionaryRest[@"compliments"]) {
Compliment *compl = [Compliment new];
if (![dic[@"ID_promotions"] isEqual:[NSNull null]])
compl.ID = [dic[@"ID_promotions"] integerValue];
Итак, в последних 2 строках это исключение было. В чем причина этого? Я так понимаю, что мне нужно использовать
if ([dict objectForKey:[@"compliments"])
вместо
if (![dict[@"compliments"] isEqual:[NSNull null]])
и во всех других случаях.
Сейчас я тестирую, и в моем словаре есть идентификатор: