使用uisearchBar的UITableViewController首先搜索速度慢

时间:2013-01-26 16:05:10

标签: iphone ios ios6 uitableview

我正在使用一个连接 sqlite db 的简单 TableViewController 应用程序。不幸的是,第一次搜索(通过搜索栏)有点慢,但仅限于第一次调用时。在第一次查询后,即使我关闭应用程序并重新打开它仍然顺利,所有内容都会顺畅运行。

如果我通过“ios任务管理器”退出并重新打开它,则第一次搜索再次变慢。

我认为这不取决于数据库导致正在进行的查询没问题。我猜它有......与细胞或初始化有关。在tableview中。目前我正在为单元格使用nib文件。然后我将其改为使用单元格的程序化方式 - 仍然没有变化。

如果我以“select * from ..”开始启动应用程序并显示结果,那么以下搜索也是顺利的。

有没有人对此类行为有任何意见?

2 个答案:

答案 0 :(得分:0)

我将查看您连接数据库的方式,因为问题仅在第一次搜索时出现。您还可以记录您的方法,以检查哪种方法花费如此昂贵。示例

NSLog(@"%f",[NSDate timeIntervalSinceReferenceDate] * 1000); 

在每个方法的开头和结尾。

答案 1 :(得分:0)

在我的情况下,这是因为tableview正在从数组加载单元格。

我做了“假装”

tableView.hidden = YES;

for (int i = 0; i < 200; i++)
{
    array addObject..
} 

[tableView reloadData];

然后在0.1秒后

[array removeAllObjects];
[tableView reloadData];

tableView.hidden = NO;