I take datas from server. My app work fine in Sinulator and test device iPhone 4s, but one man have problem on iPod 4. He get exception:
-[__NSCFString objectForKeyedSubscript:]: unrecognized selector sent to instance 0x1d263a20
I cann't use this device so I write code to know where crash was.
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];
So in last 2 strings this exception was. What the reason of this? So I understand that I need use
if ([dict objectForKey:[@"compliments"])
instead
if (![dict[@"compliments"] isEqual:[NSNull null]])
and in all another cases.
I test now and I have in my dictionary for ID:
You have an NSString
instance in your dictionary where you expect a dictionary.
Note that your "use this instead of that" has nothing to do with the problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With