IPhone: как вызвать AlertView из статической функции - PullRequest
1 голос
/ 10 февраля 2012

У меня есть класс следующим образом

#import "UtilAlert.h"

@implementation UtilAlert

+(void) showAlert:(NSString *)message andTitle:(NSString *)title andDelegate:(UIViewController *) delegate
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:delegate cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
    [alert show];

}

@end

Проблема в том, что при вызове функции с необходимыми параметрами ...

[UtilAlert showAlert:@"hello" andTitle:@"hello" andDelegate:self] ;

я получаю ошибку: Thread1: остановлен в точке останова 3;

для вызова функции из класса UIController

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Это не ошибка. У вас есть точка останова в вашем коде, которая является маленькой синей стрелкой в ​​левом поле вашего кода. Снова нажмите синюю стрелку, чтобы она стала светло-голубой, чтобы отключить точку останова.

Кроме того, следует отключить предупреждение после его показа перед выходом из функции, иначе произойдет утечка памяти.

0 голосов
/ 10 февраля 2012

Просто дикая догадка, но ваш alert объект может быть освобожден при выходе из функции, если вы работаете над ARC.В этом случае это может работать:

+(void) showAlert:(NSString *)message andTitle:(NSString *)title andDelegate:(UIViewController *) delegate { 
    static UIAlertView *alert;
    if(!alert)
        alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:delegate cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; 

    [alert show];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...