iOS 5 держит метод на некоторое время, прежде чем его уволят - PullRequest
1 голос
/ 19 января 2012

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

Я звоню веб-службам в viewDidLoad, и для автоматического входа в систему требуется около 1 секунды, из-за чего пользователь не получает времени для отмены процесса.

Я хочу знать, существует ли какое-либо решение, которое мы могли бы удерживать вызовом веб-служб в течение 3-4 секунд, чтобы у пользователя было время для отмены, а затем вызывались веб-службы.

Любая помощь приветствуется, спасибо

Ответы [ 2 ]

2 голосов
/ 19 января 2012

Да, вы можете использовать NSTimer вместо простого вызова вашего сервисного вызова.

См. Как использовать NSTimer? для получения дальнейших инструкций о том, как его использовать.

Пример :

// define a timer as instance variable in your .h file
NSTimer *_loginTimer;


// use timer in your .m file
- (void) viewDidLoad {
    // initialize timer (3 seconds)
    _loginTimer = [[NSTimer scheduledTimerWithTimeInterval:3.0
        target:self
        selector:@selector(doAutoLogin)
        userInfo:nil
        repeats:NO] retain];
}

- (void) doAutoLogin {
    // request to perform login
}

- (void) cancelAutoLogin {
    // invalidate timer
    [_loginTimer invalidate];
    _loginTimer = nil;
}
0 голосов
/ 19 января 2012

вы можете использовать

-(void)viewDidLoad
{
    [self performSelector:@selector(doAutoLogin) withObject:nil afterDelay:3];
}

- (void) doAutoLogin {
    // request to perform login
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...