[英]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
您必須保留使用retain
或randomWord
方法(當是屬性時)(如self.randomWord = ...
)將分配給randomWord
變量的值self.randomWord = ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.