Objective c 在设备中构建Objective C应用程序时的性能
在设备中构建应用程序时出现性能问题。它实际上在我的数据库里。我有一个葡萄酒明细表,其中有2114个葡萄酒名称。为了获得所有这些葡萄酒名称,我在Objective c 在设备中构建Objective C应用程序时的性能,objective-c,device,Objective C,Device,在设备中构建应用程序时出现性能问题。它实际上在我的数据库里。我有一个葡萄酒明细表,其中有2114个葡萄酒名称。为了获得所有这些葡萄酒名称,我在appDelegate中编写了以下代码: -(NSMutableArray*)getWineDetails { [wineDetailsList removeAllObjects]; sqlite3_stmt* statement; const char *sql = "select *from wineDetails order b
appDelegate
中编写了以下代码:
-(NSMutableArray*)getWineDetails
{
[wineDetailsList removeAllObjects];
sqlite3_stmt* statement;
const char *sql = "select *from wineDetails order by name";
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) != SQLITE_OK)
{
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
while (sqlite3_step(statement) == SQLITE_ROW)
{
primaryKey = sqlite3_column_int(statement, 0);
//printf("\n primaryKey1 Value:%d",primaryKey);
wineDetails *wineDets = [[wineDetails alloc] initWithPrimaryKey:primaryKey database:database];
[wineDetailsList addObject:wineDets];
//printf("\n ==========================%d",[wineDetailsList count]);
[wineDets release];
}
sqlite3_finalize(statement);
printf("\n Inside AppDelegate .....wineDetailsList count:%d",[wineDetailsList count]);
return wineDetailsList;
}
我在另一个控制器的视图中调用此方法,我必须在表视图中显示葡萄酒名称
视图将出现
代码:
-(void)viewWillAppear:(BOOL)animated
{
CorkItAppDelegate* appDelegate = (CorkItAppDelegate*)[[UIApplication sharedApplication] delegate];
winesList = [appDelegate getWineDetails];
[tableView reloadData];
}
这里的问题是,当我在设备中构建它时,由于数据库中的数据量,导航到控制器需要花费太多的时间。我应该怎么做才能解决这个性能问题
谢谢
Monish Kumar.作为一个快速建议,您可以在name列上添加一个索引,这可能会加快提取速度。另外,请确保您获取的内容不会超过您需要的内容。Hi naven,实际上我不知道数据库中的索引。是的,我尝试过使用索引。甚至认为它很慢……但它比不使用索引之前更快。