如果为空则显示 UIImage 而不是 TableView
我有一个 NSFetchResultsController 来加载我的表视图。
首次下载应用程序时,表格视图中不会显示任何数据,因此我想要一个带有说明的静态图像。我有以下代码,我在 viewWillAppear 中调用此方法,但它无法正常工作。有什么想法吗?
- (void)checkIfEmpty
{
if ([self.fetchedResultsController fetchedObjects] > 0)
{
self.defaultImage.hidden = NO;
self.logTableView.hidden = YES;
}
else
{
self.defaultImage.hidden = YES;
self.logTableView.hidden = NO;
}
}
I have a NSFetchResultsController that loads up my tableview.
When the app is first downloaded, there will be no data to show in the tableview so I want to have a static image with instructions on it. I have the following code and I call this method in viewWillAppear
but it doesn't function right. Any ideas?
- (void)checkIfEmpty
{
if ([self.fetchedResultsController fetchedObjects] > 0)
{
self.defaultImage.hidden = NO;
self.logTableView.hidden = YES;
}
else
{
self.defaultImage.hidden = YES;
self.logTableView.hidden = NO;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
[self.fetchedResultsController fetchedObjects] > 0
始终为 true,因为即使是空数组也是一个对象(而不是nil
)。您需要使用 self.fetchedResultsController.fetchedObjects.count > 0 代替。
[self.fetchedResultsController fetchedObjects] > 0
will always be true because even an empty array is an object (and notnil
).You need to use
self.fetchedResultsController.fetchedObjects.count > 0
instead.尝试将相同的代码放入 viewDidAppear 中。尝试使用 alpha = 0 而不是隐藏。尝试将相同的代码放入表视图委托方法之一中。既然你没有准确解释发生了什么,我只是把东西扔在那里。
Try putting the same code in viewDidAppear . Try using alpha = 0 instead of hidden. Try putting the same code in one of your tableview delegate methods. Since you don't explain exactly what occurs I'm just throwing stuff out there.