gpt4 book ai didi

iphone - UITableViewController 中的 tableView 在初始化后为 nil

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:31:49 25 4
gpt4 key购买 nike

我在 UITableViewController 的子类中有以下代码。在 iOS 5.1 下它工作正常,但在 iOS 6 下,self.tableView 为 nil(在模拟器和真实设备上)。我做错了吗?为什么不在初始化后立即设置 View ?

- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];

if (self)
{
UIView * bck = [[UIView alloc] init];
[bck setBackgroundColor:[UIColor whiteColor]];
self.tableView.backgroundView = bck;
[bck release];
}

return self;
}

编辑:

我已经确定了问题:

我上课了

AccountsListViewController_iPad

它是

的子类
AccountsListViewController : UITableViewController

AccountsListViewController 在初始化后加载了它的 tableView 和 View (如我所料)。另一方面,AccountsListViewController_iPad 的 view 和 tableView 等于 nil。我已经从 AccountsListViewController_iPad 中删除了所有内容,所以现在它看起来如下:

.h
#import <UIKit/UIKit.h>
#import "AccountsListViewController.h"
@interface AccountsListViewController_iPad : AccountsListViewController
@end

.m
#import "AccountsListViewController_iPad.h"
@implementation AccountsListViewController_iPad
@end

它的 View 仍然是零。在我看来,它的行为应该与其父类(super class)完全相同,但事实并非如此。

最佳答案

我怀疑这是因为在加载 View 之前不会加载 TableView 。您应该将 View 设置移动到 viewDidLoad

您应该在 init 方法中设置的唯一“ View ”属性是 .navigationItem(尽管我认为 UINavigationItem 可能是最好考虑的部分 Controller 而不是 View )。

关于iphone - UITableViewController 中的 tableView 在初始化后为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12475508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com