Я не совсем уверен, что вы пытаетесь сделать, но, глядя на ваш код, я думаю, вам нужно использовать цикл для .
Также первая строка вашего кода - утечка. Я не уверен, что вы пытаетесь сделать. Насколько я вижу, вам не нужно создавать пустой словарь здесь.
Строка, где вы получаете свои значения tweetValues (tweetValues = [tweets objectAtIndex:1];
), также странная. Вы извлекаете объект по индексу 1. Поскольку массивы с нулевым индексом , вы получаете второй объект в массиве. Если вы хотите получить первый, вам нужно позвонить: [tweets objectAtIndex:0];
Если бы мне пришлось провести рефакторинг вашего кода, я бы сделал что-то вроде:
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
NSString *oldStatusID = [[NSUserDefaults standardUserDefaults] stringForKey:@"latestID"];
for (NSDictionary *tweetValues in tweets) { // Iterate over all the tweetValues in tweets (assume tweets exist?)
NSString *newStatusID = [[tweetValues objectForKey:@"id"] stringValue];
if ([oldStatusID isEqualToString:newStatusID]) {
[UIApplication sharedApplication].applicationIconBadgeNumber++; // Increase the badge number by 1
}
}
Надеюсь, я правильно интерпретировал ваш код. Если нет, то может пригодиться еще какой-то контекст.