如何在iOS中刷新页脚视图?

如何在iOS中刷新页脚视图?,ios,ios7,uitableview,Ios,Ios7,Uitableview,我已经创建了一个视图(xib)作为我的页脚 我已将xib的文件所有者分配给FTHeaderFooterViewController 我定义了一个名为total的指针指向我的标签,其中footerView指向我的实际页脚视图 @interface FTHeaderFooterViewController : UITableViewController { IBOutlet UIView *footerView; __weak IBOutlet UI

我已经创建了一个视图(xib)作为我的页脚

我已将xib的文件所有者分配给
FTHeaderFooterViewController

我定义了一个名为
total
的指针指向我的标签,其中
footerView
指向我的实际页脚视图

    @interface FTHeaderFooterViewController : UITableViewController
    {
        IBOutlet UIView *footerView;

        __weak IBOutlet UILabel *total;
    }
    - (UIView *)footerView;

@implementation FTHeaderFooterViewController

-(UIView *)footerView
{
    if (!footerView) {
        [[NSBundle mainBundle] loadNibNamed:@"FTFooterView" owner:self options:nil];
    }
    return footerView;
}

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return [[self footerView] bounds].size.height;
}

-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    return [self footerView];
}
页脚显示一切正常

但是,在中更改标签的值时:

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self drawFooter];
    [[self tableView] reloadData];
}

- (void)drawFooter
{
    NSString *totalStr = @"test";
    [total setText:totalStr];
}
标签无法刷新。我错过了什么?

两件事:

一,。 加载xib文件时忘记分配footerview变量

-(UIView *)footerView
{
    if (!footerView) {
        footerView = [[NSBundle mainBundle] loadNibNamed:@"FTFooterView" owner:self options:nil];
    }
    return footerView;
}
二,。 footerview方法覆盖footerview IBOutlet属性中的默认getter

-(UIView *)footerView 

该死的……是的,你是对的。但是我在哪里初始化标签呢?在xib或代码隐藏中?您是否将UILabel链接到xib?因为通常xib应该初始化您的UILabel@AncAinu这是一个很好的指针。我使用自己的
init
构造viewController。可能是这导致了问题…如果您使用xib,则不会调用标准的
init
方法(在我的记忆中,我不使用xib),它应该是
initWithNibName…
,因此您应该重写并使用ITAHH问题不是2。我打算重写getter以从1返回代码。问题是1。它本身谢谢你的提示!我必须运行
[self footerView],以确保在
viewWillApear
尝试设置标签文本之前,已设置视图且其不是
nil