У меня ужасное время, когда 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];
}
Если я задаю делегату selfэтот код вылетает, как только я нажимаю кнопку.Если я установил его на ноль, clickedButtonAtIndex никогда не вызывается.Я пытался использовать <UIAlertViewDelegate>
.
и без него. Я знаю, что кто-то спросит: «Почему вы делаете это в NSObject, а не в UIViewController?».Прежде всего потому, что я хочу отделить этот код, чтобы я мог использовать его из нескольких мест в моем приложении.Но также потому, что это маленький кусочек большого логического блока, который имеет смысл быть сам по себе.
Есть идеи, что я делаю не так?
Спасибо, Рич