Взимам данни от сървъра. Приложението ми работи добре в 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]])
и във всички останали случаи.
Тествам сега и имам в речника си за ID: