从源码显示数据来标记使用FMDB(display data from sqlite to label

2019-10-17 13:44发布

如何显示从SQLite的数据使用FMDB这样的标注:

我想显示的任何输出这种格式的用户看到。 没有互动。 仅显示了select查询。

Answer 1:

如果你想添加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];

我刚才输入在,所以我相信里面还有错别字,但希望它足以让你的可能是什么样子的想法。 如果有太多的行以适应屏幕上,你会滚动型添加到您的视图,然后添加标签作为一个子视图到。

我也认为,实现代码如下是一个奇妙的方法。 或动态生成的,你在显示HTML字符串UIWebView 。 这里的选项吨。 这取决于一点点在你的最终目标是什么在这里,该数据的性质,你想要什么样的用户交互。



Answer 2:

您可以通过使用一个UITableView自定义 UITableViewCells完成上述。

你可以保持一个阵列将作为一个数据源视图控制器。

考虑到要具有相同的布局已共享(其中有每排四个标签),你会从数据库中提取数据。

因为,从数据库中获取的数据可能继续增加,UITableView的是你最好的选择将数据显示内存管理和细胞生成是自动处理的长长的名单时。

如果您计划只有标签那么事情可能很麻烦你。 因为如果你使用提取的行数select查询实在是太多了,那么你将最终创造了很多意见,这将导致内存问题。

而且,如果你不想让你的用户与任何行的交互,然后实现下面的方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

这里是一个链接,创建自定义单元格:

http://www.appcoda.com/customize-table-view-cells-for-uitableview/

这里是一个链接,使用表格视图:

http://www.appcoda.com/ios-programming-tutorial-create-a-simple-table-view-app/

祝好运!!



文章来源: display data from sqlite to label using FMDB