UIKit中Realm存储数据可在MongoDB Realm Studio查看但UITableView不显示
UITableView加载Realm数据无内容排查方案
- 检查TableView的代理和数据源是否绑定
你已编写遵守UITableViewDelegate、UITableViewDataSource协议的扩展,但需确认在ViewController的生命周期方法(如viewDidLoad)中执行了如下绑定代码:
未绑定的情况下TableView不会调用你写的数据源方法,自然不会加载内容。tableView.delegate = self tableView.dataSource = self - 检查数据源数组
spendingDBArray是否为空
在numberOfRowsInSection方法中添加打印输出spendingDBArray.count,如果返回值为0则是数据查询逻辑问题:- 确认查询Realm时使用的配置和写入数据时的配置完全一致,如果写入时用了自定义
Realm.Configuration,查询时用默认配置会导致查不到数据 - 确认写入数据完成后,已重新执行Realm查询逻辑更新
spendingDBArray的值
- 确认查询Realm时使用的配置和写入数据时的配置完全一致,如果写入时用了自定义
- 检查数据更新后是否刷新了TableView
写入数据、更新spendingDBArray后,必须在主线程调用tableView.reloadData()触发TableView重新加载数据源,否则新数据不会渲染到界面上。如果你的Realm写入操作在子线程执行,必须切换到主线程再执行刷新操作。 - 检查Cell注册与标识是否正确
确认你已通过代码或者Storyboard/XIB注册了CustomTableViewCell,且注册时使用的复用标识完全匹配你代码中写的"Cell",包括大小写、空格都要一致。 - 检查自定义Cell的控件配置
如果上述逻辑都无问题,可通过给Cell的contentView设置纯色背景测试Cell是否正常渲染:- 若Cell本身也不显示,检查TableView的约束是否正确,是否存在宽高为0的情况
- 若Cell显示但文字、图片不展示,检查
recordCategory、recordMoney、recordImage等IBOutlet是否和XIB/Storyboard的控件正确绑定,控件是否添加了正确的布局约束避免超出可视范围。
内容的提问来源于stack exchange,提问作者ruzaykina
相关产品推荐
相关产品推荐

