입력 한 값이 올바른지 확인하는 버튼이 내 앱에 있습니다. 가끔 충돌이 발생하지만 이상한 점은 불규칙한 간격으로 발생한다는 것입니다 (때로는 세 번째 반복에서, 때로는 10 번째에서 가끔 발생하는 경우도 있음).EXC_BAD_ACCESS 오류 - 가끔만
디버거에서 EXC_BAD_ACCESS 오류가 발생합니다. 그래서해서는 안되는 일이있는 것처럼 보입니다. 버튼 호출이 기능 :
- (IBAction)checkValue:(id)sender{
int actualDifference = [firstNumberString intValue] - [secondNumberString intValue];
actualDifferenceAsString = [NSString stringWithFormat:@"%d", actualDifference];
if ([answerTextField.text isEqualToString:actualDifferenceAsString])
{
UIAlertView *correctAlert = [[UIAlertView alloc] initWithTitle:@"matches"
message:@"next value."
delegate:nil
cancelButtonTitle:@"ok"
otherButtonTitles: nil];
[correctAlert show];
[correctAlert release];
}
else
{
UIAlertView *incorrectAlert = [[UIAlertView alloc]
initWithTitle:@"does not match"
message:@"next value."
delegate:nil
cancelButtonTitle:@"ok"
otherButtonTitles: nil];
[incorrectAlert show];
[incorrectAlert release];
}
사용하여 좀비가 첫 번째 문을 지적 :
이int actualDifference = [firstNumberString intValue] - [secondNumberString intValue];
사람이 문제가 무엇인지 알고 있나요?
NSInteger actualDifference = [firstNumberString intValue] - [secondNumberString intValue]; //change int to NSInteger
NSString *actualDifferenceAsString = [NSString stringWithFormat:@"%d", actualDifference];
if ([answerTextField.text isEqualToString:actualDifferenceAsString])
{
UIAlertView *correctAlert = [[UIAlertView alloc] initWithTitle:@"matches"
message:@"next value."
delegate:nil
cancelButtonTitle:@"ok"
otherButtonTitles: nil];
[correctAlert show];
[correctAlert release];
}
else
{
UIAlertView *incorrectAlert = [[UIAlertView alloc]
initWithTitle:@"does not match"
message:@"next value."
delegate:nil
cancelButtonTitle:@"ok"
otherButtonTitles: nil];
[incorrectAlert show];
[incorrectAlert release];
}
에
exc_bad_access를 얻을 때 강조 표시되는 행은 무엇입니까? – Manuel
중단 점을 사용하여 디버깅을 했습니까? 앱이 충돌하는 줄을 확인 하시겠습니까? firstNumberString, secondNumberString, actualDifferenceAsString – mChopsey
의 인쇄 값은 강조 표시되지 않습니다. firstNumberString과 secondNumberString의 값은 arc4random()을 사용하는 다른 메소드에서 무작위로 설정됩니다. –