я устанавливаю делегата в UIAlertView следующим образом:UIAlertView делегат сбой приложения
PhotoViewController *controller = [[PhotoViewController alloc] init];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Announcement"
message: @"It turns out that you are playing Addicus!"
delegate: controller
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
Где PhotoViewController не ток UIviewContorller. Настороже нагрузки нормально, но как только я нажимаю на кнопку ОК, то происходит сбой приложения, и я получаю эту ошибку:
0x3a61a5b0: LDR r3, [r4, # 8] EXC BAD ACCESS
Что делает это имею в виду?
EDIT:
+ (DejalActivityView *)activityViewForView:(UIView *)addToView withLabel:(NSString *)labelText width:(NSUInteger)aLabelWidth;
{
// Immediately remove any existing activity view:
if (dejalActivityView)
[self removeView];
// Remember the new view (so this is a singleton):
dejalActivityView = [[self alloc] initForView:addToView withLabel:labelText width:aLabelWidth];
if ([labelText isEqualToString:@"Uploading photo (this process might take a while)"]) {
buttonCancel = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[buttonCancel addTarget:dejalActivityView
action:@selector(callCancelAlert:)
forControlEvents:UIControlEventTouchDown];
buttonCancel.frame = CGRectMake(230, 540, 265, 40);
[addToView addSubview:buttonCancel];
[buttonCancel setImage:[UIImage imageNamed:@"socialize-navbar-bg.png"] forState:UIControlStateNormal];
[buttonCancel setTitle:@"Cancel upload" forState:UIControlStateNormal];
}
return dejalActivityView;
}
-(IBAction)callCancelAlert:(id)sender{
PhotoViewController *controller = [[PhotoViewController alloc] init];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Announcement"
message: @"It turns out that you are playing Addicus!"
delegate: controller
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
//[alert release];
}
Является ли это точной копией вашего кода? Если нет, а 'controller' является' слабым', тогда он может быть установлен на nil, прежде чем вы сможете его использовать. В любом случае, проверьте, не контролируется ли контроллер в отладчике. Все самое лучшее – virtualnobi
Да, это код. И это единственная ссылка, которую я должен контролировать, а также #import «PhotoViewController» – Alessandro
Совет: делегат не сохраняется alertView; –