我在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;
}
}
我有时会遇到问题,通常不会。
你能帮帮我吗。
谢谢你
答案 0 :(得分:1)
表示您正在访问的字符串(在这种情况下为idString
)已被释放。造成这种情况的原因有很多。如果字符串最初是通过自动释放的方法(例如[NSString stringWithFormat:@"..."]
)分配的,则字符串会自动释放。或者,如果您分配了字符串,但稍后通过显式调用[idStr release]
来释放它。您需要确保在已经释放字符串后不再使用该字符串。这可能很棘手!