Я нахожу ту же тему в stackoverflow, но я не могу решить свои проблемы.- [CFString intValue]: сообщение отправлено на освобожденный экземпляр 0xa3a2610
Это мой код
В моей .h
@property (nonatomic, retain) NSMutableArray *favoriteShops;
Мой .m
NSString *idStr = @"";
NSString *shopTypeId = @"";
for (SHDFavoriteShopView *favoriteShopView in favoriteShops) {
idStr = [favoriteShopView valueForKey:kId];
shopTypeId = [favoriteShopView valueForKey:kShopTypeId];
if (tappedView.tag == [idStr intValue]) { // Crash here
shop.shopType = [shopTypeId intValue];
break;
}
}
У меня проблема когда-то, как правило, не.
Не могли бы вы помочь мне.
Спасибо Вам
Я использую [idStr release] после цикла. Но у меня проблема в цикле –
Вы не должны выпускать 'idStr' после цикла! Это изменения стоимости на каждой итерации цикла, так что вы выпускаете? Просто последнее значение! Но это не проблема, которую вы видите здесь. Я бы посмотрел в 'favoriteShopView'. Вы запрашиваете 'favoriteShopView' значение некоторого ключа, и оно возвращает строку, на которую указывает' idStr'. Таким образом, это может быть уже освобожденная строка. Если вы разместите код для «SDHFavoriteShopView», это может помочь уменьшить его. – user1118321
favoriteShopView - это NSDictionary. Это моя ошибка. Но когда я заменяю SHDFavoriteShopView на NSDictionary, у меня такая же проблема –