我在我的应用程序中实现了一个自动登录屏幕,如果用户保存了他的凭据,它会首先出现。在该屏幕上有一个取消按钮,用户可以选择是否要取消自动登录并在登录屏幕上输入不同的凭据。
我正在调用 viewDidLoad 中的 Web 服务,由于用户没有时间取消该过程,因此需要大约 1 秒的时间才能自动登录。
我想知道是否有任何解决方案可以让网络服务调用保持大约 3-4 秒,以便用户有时间取消,然后调用网络服务。
感谢任何帮助,谢谢
最佳答案
是的,您可以使用 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;
}
关于iphone - iOS 5 在它被解雇之前持有一个方法一段时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8925613/