В моем приложении я использую UIAlertView для отображения пользователю сообщения и некоторых параметров. В зависимости от нажатой кнопки я хочу, чтобы приложение выполняло что-то на объекте. Код примера, который я использую,...
-(void) showAlert: (id) ctx {
UIAlertView *baseAlert = [[UIAlertView alloc]
initWithTitle: title
message: msg
delegate:self
cancelButtonTitle: cancelButtonTitle
otherButtonTitles: buttonTitle1, buttonTitle2, nil];
//baseAlert.context = ctx;
[baseAlert show];
[baseAlert release];
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 1) {
id context = ...;//alertView.context;
[self performSelectorOnMainThread:@selector(xxx:) withObject: context waitUntilDone: NO];
}
}
Есть ли способ передать объект в делегат как объект контекста? или, может быть, каким-то другим способом?
Я мог бы добавить свойство в делегат, но тот же объект-делегат используется многими различными видами предупреждений. По этой причине я предпочел бы решение, в котором объект контекста привязан к экземпляру UIAlertView и переносится на делегат как часть объекта UIAlertView.