在运行iphone模拟时,我在Xcode中显示“EXC_BAD_ACCESS”的错误
代码如下:
Test.h
@interface Test : UIViewController
{
NSNumber *nWieght;
}
@property (nonatomic,retain) NSNumber *nWieght;
end
Test.m
@implementation Test
@synthesize nWieght;
- (void)viewDidLoad
{
...
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
**NSLog(@"integer Number is :%@", iWeight); // error occur**
}
如果我点击UIAlertView的按钮,Xcode会在该代码中出现“EXC_BAD_ACCESS”错误
我不知道为什么代码会出错。帮助我。
答案 0 :(得分:1)
你真的遗漏了这里的必需品(实际作业),而你在你的例子中使用的是iWeight而不是nWeight(错误我确定)。只需确保在分配NSNumber
时,您实际为其分配了一个NSNumber
对象而不是文字(例如,nWeight = 5)。并确保您使用该属性。 self.nWeight = [NSNumber numberWithInt:5];
答案 1 :(得分:0)
我认为你的意思是nWieght在NSLog线上 - 如果不用更多代码更新。
nWieght在其一生中发生了什么?它是否有值 - 该值是否已释放并取消分配?
最简单的方法是使用Zombies乐器开启Zombies。这将设置每个对象在完全释放时不释放,并将其转换为僵尸对象。如果您尝试向僵尸发送消息,它会在控制台中大声抱怨,您可以更好地指示您做错了什么。
还有很多其他方法可以导致EXC_BAD_ACCESS,我在这里记录了这些:
http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html