UITextfield和webservice

时间:2010-05-03 09:59:56

标签: iphone

我有一个关于(UITextfield和Webservice)的查询,例如

当我开始在UITextfield中编写文本时。确保,应用程序不会为每个键入的字母查询服务器(Webservice)。它应该等到我暂停然后发送请求。

使用UITextField时可以吗?

提前致谢

1 个答案:

答案 0 :(得分:3)

您可以使用performSelector:withObject:afterDelay:和cancelPreviousPerformRequestsWithTarget:方法执行此操作。这是示例代码 - 用户在编辑文本字段中暂停2秒后调用requestAction:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    // Cancel previously registered perform request 
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(requestAction) object:nil];
    // schedule a call with 2 sec delay
    [self performSelector:@selector(requestAction) withObject:nil afterDelay:2.0];

    return YES;
}

- (void) requestAction{
    NSLog(@"Request!");
}