我已经在我的应用程序中实现了一个自动登录屏幕,如果用户保存了他的凭据,它将首先出现。在该屏幕上有一个取消按钮,用户可以选择取消自动登录并在登录屏幕上输入不同的凭据。
我正在调用viewDidLoad中的web服务,由于用户没有时间取消该过程,因此需要大约1秒的时间才能自动登录。
我想知道是否有任何解决方案,我们可以将web服务调用保持大约3-4秒,以便用户有时间取消,然后web服务被调用。
感谢您的帮助,谢谢
发布于 2012-01-19 20:01:55
是的,您可以使用NSTimer而不是立即调用您的服务调用。
有关如何使用它的详细说明,请参阅How do I use 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;
}发布于 2012-01-19 20:08:15
您可以使用
-(void)viewDidLoad
{
[self performSelector:@selector(doAutoLogin) withObject:nil afterDelay:3];
}
- (void) doAutoLogin {
// request to perform login
}https://stackoverflow.com/questions/8925613
复制相似问题