【问题标题】:How To Create Custom Table Cells With That Pulls Data From An SQLite Database如何使用从 SQLite 数据库中提取数据来创建自定义表格单元格
【发布时间】:2013-01-09 06:35:57
【问题描述】:

我已经在互联网上搜索了很长时间,试图弄清楚这一点。我想创建一个社交网络应用程序,它允许我拥有从 sqlite 数据库中提取数据的自定义表格单元格。我希望将用户个人资料图片添加到表格单元格的左侧,并将他们的用户名添加到单元格的右侧。我知道我需要一个从 sqlite 数据库中提取 BLOB 图像的图像视图,并且我知道我需要一个标签来显示用户名。我还希望它像 facebook 和 twitter 一样实时更新。我已经创建了我的 sqlite 数据库并设计了用户界面。我只是不知道从那里去哪里。任何帮助将不胜感激!

【问题讨论】:

  • 你能更清楚你在问什么吗?

标签: iphone objective-c xcode ios5 tableview


【解决方案1】:
  1. 您必须在显示 UITableView 之前触发查询以获取数据。
  2. 此查询的结果将决定您的UITableView 中的行数
  3. 每当您获得更新或想要更改UITableView 的内容时,您只需再次触发查询即可。从您的 SQLite 获取数据。并且,重新加载您的 tableview。

【讨论】:

    【解决方案2】:

    1 将数据库中的数据拉到内存中。

    我使用 Core Data 来执行此操作,here 是一个很好的起点。 您可以从 sqlite 中fetch records 并将它们更改为对象,以便您可以操作它们。

    2 在你的视图上布局一个 tableView

    请参阅here 了解如何添加 tableView。

    您的关键方法是tableView:cellForRowAtIndexPath:。 您将在其中自定义您的单元格。 要知道 UITableViewDataSourceUITableViewDelegate 对于使用 UITableView 非常重要。

    3 自定义你自己的 UITableViewCell

    您可以创建 UITableViewCell 的子类,可能是 MyTableViewCell,以显示用户的头像和名称。 或者你可以直接使用默认的 UITableViewCell,它有一个 imageView 和一个 label,满足你的需要。

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {    
        static NSString *cellIdentifier = @"TableViewCellIdentifier";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        if (nil == cell) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier] autorelease];
        }
        // Do something here
        cell.imageView.image = user.avatar;
        cell.detailTextLabel.text = user.name;
        return cell;
    }
    

    【讨论】:

      【解决方案3】:

      您可以创建一个方法,该方法可能包含获取数据和重新加载表的代码。然后创建 NSTime 触发器并调用方法

      【讨论】:

        猜你喜欢
        • 2011-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多