iphone - iOS 5 在它被解雇之前持有一个方法一段时间

标签 iphone objective-c ios

我在我的应用程序中实现了一个自动登录屏幕,如果用户保存了他的凭据,它会首先出现。在该屏幕上有一个取消按钮,用户可以选择是否要取消自动登录并在登录屏幕上输入不同的凭据。

我正在调用 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/

相关文章:

ios - 使用 KIF 以编程方式将点击事件发送到 iOS 中的后台坐标

iPhone - 使用 Sharekit 将图像发送到 Facebook

objective-c - 使用 ComponentsSeparatedByString 从 NSString 中删除多个单词

ios - SWReveal 的问题(滑动菜单)

ios - 如何聚焦 UIView?

android - HTML 网站导航菜单向后翻转

iphone - iPhone 应用程序中的 super /子类和 View

ios - 在 tableView 中重新加载不可见部分的数据

ios - XLForm - 根据用户输入动态添加行

objective-c - IOS6构建链接错误