- [CFString intValue]:发送到解除分配的实例0xa3a2610的消息

时间:2013-09-05 03:23:54

标签: ios6.1

我在stackoverflow中找到了一些相同的主题,但我无法解决我的问题。

这是我的代码

在我的.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;
            }

        }

我有时会遇到问题,通常不会。

你能帮帮我吗。

谢谢你

1 个答案:

答案 0 :(得分:1)

表示您正在访问的字符串(在这种情况下为idString)已被释放。造成这种情况的原因有很多。如果字符串最初是通过自动释放的方法(例如[NSString stringWithFormat:@"..."])分配的,则字符串会自动释放。或者,如果您分配了字符串,但稍后通过显式调用[idStr release]来释放它。您需要确保在已经释放字符串后不再使用该字符串。这可能很棘手!