我有以下UISearchbar代码:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
    NSTimer *myTimer;

    NSLog(@"Timer=%@",myTimer);
    if (myTimer)
    {
        if ([myTimer isValid])
        {
            [myTimer invalidate];
        }
        myTimer=nil;
    }
    myTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(OnTextChange) userInfo:nil repeats:NO];

}

编写完以上代码后,我的日志显示为Timer=null
OnTextChange是从Url提取数据的方法。

预先感谢!

最佳答案

请将此行写在 .h 文件中

NSTimer *myTimer;

然后在 .m 文件中进行操作
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{

    NSLog(@"Timer=%@",myTimer);
    if (myTimer)
    {
        if ([myTimer isValid])
        {
            [myTimer invalidate];
        }
        myTimer=nil;
    }
    myTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(OnTextChange) userInfo:nil repeats:NO];

}

关于iphone - 当用户在UISearchBar中输入停止类型时检测到暂停,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16313595/

10-12 03:42