Должен ли делегат UIAlertView быть контроллером представления?

У меня есть проблема, когда объект, который создает UIAlertView, отправляет сообщение обратно своему делегату, но объект делегата падает.

У меня это работает нормально в нескольких других случаях, но что я пытаюсь сделать в этом случае (и что отличается от других подобных вопросов), так это то, что объект, который создает предупреждение и действует как его делегат, не само представление, а объект, который создается в представлении. С точки зрения родителей:

@implementation
*MyCustomObject customObject;

-(void)viewDidLoad {
  customObject = [[MyCustomObject alloc] init];
}
@end

И в пользовательском объекте:

-(void)DoCoolThings {
    UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Do You Want To Do Cool Things"
                                                  message:@"...description of cool things..."
                                                 delegate:self
                                        cancelButtonTitle:@"No Thanks"
                                        otherButtonTitles:@"HELLS YES", nil];
    [message show];
}

а также

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   if (buttonIndex == 1) {
    [self DoCoolThings];
   } else {
    [self GoAndCry];
   }
}

Когда я делаю представление предупреждений в объекте viewcontroller, все в порядке. Выполнение этого внутри этого подобъекта, который сам по себе не имеет представления, позволяет мне создавать оповещение, но этот объект, который не должен перераспределяться в зависимости от области видимости, похоже, не хочет продолжать действовать как делегат.

Ошибка, которую я получаю, действительно является сообщением об отмене распределения, но я твердо убежден, что это не проблема, потому что, если я удаляю предупреждение, все остальные вещи - в частности, это обертка для процесса покупки в магазине - работают хорошо, и все эти методы делегатов работают счастливо.

У меня есть решение, которое позволит мне перенести Alert в методы родительского представления, но я надеялся, что этого не потребуется. Это ограничение реально или это мое воображение? То есть я что-то не так делаю?

0 ответов

Другие вопросы по тегам