使用FMDB将数据从sqlite显示到标签
如何显示来自SQLite的数据使用FMDB标签,如下所示:
我想显示任何输出是以这种格式供用户看到。 没有互动。 只显示select
查询。
如果你想添加UILabel
对象,只需遍历你的结果集,添加标签到你的视图。 就像是:
NSInteger rowNum = 0; NSArray *columnWidths = @[@(50), @(120), @(75), @(75)]; CGFloat rowHeight = 24.0; FMResultSet *rs = [db executeQuery:sql]; while ([rs next]) { CGFloat x = 0.0; NSInteger colNum = 0; for (NSNumber *columnWidth in columnWidths) { UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(x, rowHeight * rowNum, [columnWidth floatValue], rowHeight)]; label.textAlignment = NSTextAlignmentCenter; label.layer.borderColor = [UIColor blackColor].CGColor; label.layer.borderWidth = 1.0; label.text = rs[colNum++]; [self.view addSubview:label]; x += [columnWidth floatValue]; } rowNum++; } [rs close];
我只是把它input,所以我确信那里有错别字,但是希望能够给你一个这个样子的概念。 如果屏幕上显示的行太多,可以在视图中添加一个滚动视图,然后将标签作为子视图添加到视图中。
我也认为tableview是一个很好的方法。 或者dynamic构build一个在UIWebView
显示的HTMLstring。 吨的select在这里。 这取决于你的最终目标是什么,数据的性质,你想要什么types的用户交互。
你可以通过使用UITableView和自定义 UITableViewCells来完成上述任务。
而且你可以维护一个数组作为视图控制器的数据源。
考虑到你想拥有与共享相同的布局(每行有四个标签),你将从数据库中获取数据。
由于从数据库中获取的数据可能会不断增加,因此在显示长列表的数据时,UITableView是最好的select,因为内存pipe理和单元格创build是自动处理的。
如果你打算只有标签,那么事情可能会变得棘手 。 因为如果您使用select
查询获取的行数太多,那么您将最终创build大量视图,这将导致内存问题。
而且,如果您不希望用户与任何行进行交互,请执行以下方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; }
这是创build自定义单元格的链接:
http://www.appcoda.com/customize-table-view-cells-for-uitableview/
这里是使用表格视图的链接:
http://www.appcoda.com/ios-programming-tutorial-create-a-simple-table-view-app/
祝你好运!!