Мне ужасно трудно заставить UIAlertView работать в моем настраиваемом классе NSObject. В проведенном мною исследовании кажется, что это должно быть возможно, но вот с чем я столкнулся.
Во-первых, вот мой код:
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"clickedButtonAtIndex: %d", buttonIndex);
}
-(void)testAlertView {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"List Contains Items"
message:@"List contains items. Remove all items & delete?"
delegate:self
cancelButtonTitle:@"No"
otherButtonTitles:@"Yes", nil];
[alertView show];
}
Если я установил делегата на себя, этот код выйдет из строя, как только я нажму кнопку. Если я установил для него значение nil, clickedButtonAtIndex никогда не вызывается. Я пробовал использовать и без использования
.
Я знаю, что кто-то спросит: «Почему вы делаете это в NSObject, а не в своем UIViewController?». В первую очередь потому, что я хочу отделить этот код, чтобы я мог использовать его в разных местах своего приложения. Но еще и потому, что это небольшая часть большого логического блока, который имеет смысл быть сам по себе.
Есть идеи, что я делаю не так?
Спасибо, Богатый