簡體   English   中英

觸發EXC_BAD_ACCESS

[英]Fires EXC_BAD_ACCESS

嗨,我正在嘗試實現驗證碼功能。 以下代碼,我已用於生成隨機詞:

-(void) createCaptchaWord{
        lettersArray = [[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z", nil];
        randomWord = @"";

    for(NSUInteger i=0;i<5;i++){
        NSUInteger randomNumber = arc4random()%[lettersArray count];
        randomWord = [randomWord stringByAppendingString:[lettersArray objectAtIndex:randomNumber]];
        //randomWord = [NSString stringWithFormat:@"%@%@",randomWord,[lettersArray objectAtIndex:randomNumber]];
    }

    NSString *captchaUrl = [NSString stringWithFormat:@"%@%@",CommonFunctions.captchaImgUrl,randomWord];
    UIImage *captchaImage = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:captchaUrl]]];

    [captchaImgView setImage:captchaImage];
}

問題出在變量randomWord上。 我可以在名為“ createCaptchaWord”的方法中訪問此變量。 還有另一個功能可以保存所有輸入的信息。 在該方法中,當我嘗試訪問變量“ randomWord”時,出現了異常EXC_BAD_ACCESS。 然后我啟用了NSZombie。 因此,我在控制台中收到以下消息:

-[CFString responsesToSelector:]:消息發送到已釋放實例0x4656c10

誰能幫我解決這個問題。

問候,Sreelash

您必須保留使用retainrandomWord方法(當是屬性時)(如self.randomWord = ... )將分配給randomWord變量的值self.randomWord = ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM