UITableView带空白页

1. 应用场景

UITableView列表,当数组listAry的count为0的时候,需要显示一个空白页。

2. 实现方法简介

给listAry添加kvo监测,但是数组默认不支持kvo,因为普通方式监听的对象的地址的变化,而数组地址不变,而是里面的值发生了变化。。

3.解决方法:

给数组注册通知:
 [self addObserver:self forKeyPath:@"listsAry"
              options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld
              context:nil];
触发通知:
[[self mutableArrayValueForKey:@"listsAry"] addObject:model];
通知回调:
- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {
    if (![keyPath isEqualToString:@"listsAry"]) return;
    //做判断是否显示空白页
    if ([self.listsAry count] == 0) {
        //显示空白页
    }else {
        //不显示空白页
    }
    //列表刷新
    [self.deviceTB reloadData];
    NSLog(@"设备个数 = %lu",(unsigned long)[self.listsAry count]);
}

你可能感兴趣的:(UITableView带空白页)