问题描述
我是使用Xamarin开发iOS的新手。我正在尝试将实时Firebase数据库中的数据加载到表视图中。目前我的代码是
public async override void ViewDidLoad()
{
base.ViewDidLoad();
TestButton.TouchUpInside += TestButton_TouchUpInside;
//List<string> names = new List<string>
//{
// "Line 1","Line 2"
//};
//tbl_tran.source = new TranTableViewSource(names);
List<Tran> all = await FirebaseHandle.getInstance().GetAllTrans();
tbl_tran.source = new TranTableViewSource(new List<string>
{
all[0].Descript.ToString()
});
TestLabel.Text = all[0].Descript.ToString();
}
TestLabel用正确的值填充,但是表没有填充,所以我知道我的firebase部分运行正常。此外,如果取消注释字符串列表,则表视图将填充第1行和第2行。作为参考,我附加了视图源类和getAllTrans()方法。我不确定是否有倾听者或我需要的东西。将我的Firebase数据放入表视图的任何信息将不胜感激。
public class TranTableViewSource : UITableViewSource
{
List<String> names;
public TranTableViewSource(List<string> names)
{
this.names = names;
}
public override UITableViewCell GetCell(UITableView tableView,NSIndexPath indexPath)
{
var cell = new UITableViewCell(UITableViewCellStyle.Default,"");
cell.TextLabel.Text = names[indexPath.Row];
return cell;
}
public override nint RowsInSection(UITableView tableview,nint section)
{
return names.Count;
}
}
和
public async Task<List<Tran>> GetAllTrans()
{
return (await firebase
.Child("Tran")
.OnceAsync<Tran>()).Select(item => new Tran
{
Descript = item.Object.Descript,Amount = item.Object.Amount,IsMatt = item.Object.IsMatt,Date = item.Object.Date
}).ToList();
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)