永远不会调用重命名的故事板中的UIViewController子类的生命周期方法

时间:2011-12-07 21:18:14

标签: iphone objective-c ios uiviewcontroller storyboard

我没有手动实例化我的控件/视图。我已经设置了这样的故事板:

-> UITabBarController-> UINavigationController-> HomeViewController

我将最后一个的控制器类切换到我自己的HomeViewController。

以下是代码:

@interface HomeViewController : UIViewController {
    UIView *buttonView;
    UITableView *buttonTableView;
}

@property (nonatomic, retain) IBOutlet UIView *buttonView;

@implementation HomeViewController

@synthesize buttonView;

在HomeViewController的主视图中,有一个子视图(UIView)通过按住Ctrl键拖动其中一行来连接到插座。

但我不能在我的生活中找到一个方法UIViewController来覆盖将在生命周期的某个地方调用的方法。到目前为止,我已尝试将我的东西放入

// didn't expect it to work
-(id)init

// didn't expect it to work
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

// had hopes for this one, but no such luck
-(id)initWithCoder:(NSCoder *)aDecoder {

// this one looked promising...
-(id)awakeAfterUsingCoder:(NSCoder *)aDecoder {

// not much hope
-(void)awakeFromNib {

// my main candidate for a long while...
-(void)viewDidLoad {

当我完全运行界面加载时,我会看到我的标签,导航栏和视图。但无论我在NSLog()中做了多少HomeViewController,控制台中都没有任何输出。

我是否遗漏了故事板的生命周期?我的控制器没有实例化或使用过吗?

2 个答案:

答案 0 :(得分:3)

使用故事板调用viewDidLoad,故事板设置出现问题。听起来它正在加载一个标准的UIViewController而不是你的HomeViewController子类。确保在故事板中设置HomeViewController类。

答案 1 :(得分:1)

问题是我最近重命名了故事板,并没有意识到Xcode没有重命名Main Storyboard设置。我已多次清理该项目,但似乎旧的故事板仍然存在并加载。

settings that is wrong