我想从SQLite DB中获取所有信息

时间:2019-08-16 09:16:31

标签: c# ios xamarin storyboard tableview

我正在尝试从SQLite的{​​{1}}文件中的Xamarin Forms文件中获取所有信息,并将其放在iOS中的Label中{1}}。我正在尝试以下事情:

cell

当我尝试从获取所有项目的数据库中调用方法

TableView

在这里:

public partial class ErrorCell : UITableViewCell
{
    public ErrorCell (IntPtr handle) : base (handle)
    {
    }

   internal void UpdateCell(Error error)
   {
        errorDescription.Text = error.Description;
    }       
}

 class TableSource : UITableViewSource
{
    List<Error> errors;

    public TableSource(List<Error> errors)
    {
        this.errors = errors; 
    }

    public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
    {
        var cell = (ErrorCell)tableView.DequeueReusableCell("cell_Id", indexPath);
        var errorid = errors[indexPath.Row];
        cell.UpdateCell(errorid);
        return cell;
    }
    public override nint RowsInSection(UITableView tableview, nint section)
    {
        return errors.Count;
    }
}

 public class ErrorDataBase
{
    readonly SQLiteAsyncConnection database;

    public ErrorDataBase(string dbPath)
    {
        database = new SQLiteAsyncConnection(dbPath);
        database.CreateTableAsync<Error>().Wait();
    }

    public Task<List<Error>> GetItemsAsync()
    {
        return database.Table<Error>().ToListAsync();
    }
}

我收到以下错误:

  

无法从SystemCollectionsGeneric.List转换为   UITableViewSource

我的开发经验真的无法解决它,有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

您正在将List分配给UITableViewSource,类型不匹配。

修改为

var list =  await Database.GetItemsAsync();
errorListView.Source = new TableSource(list);

答案 1 :(得分:0)

我发现,如果要从${{ matrix.os }}获取数据,则必须先创建action.yml,而我试图使用完整的strategy: matrix: someVariable: [foo, bar] steps: - uses: my-actions/quux@v1.0 with: someInput: ${{ matrix.someVariable }} 来完成此操作,只是为了提取数据,但是我没有找到那样的解决方案。