2011-05-28 43 views
0

我已經創建了一個基於導航的應用程序。在那,我創建了MyTableViewController使用uiviewcontroller.class如何在創建實例時使用構造方法以及如何調用它?

#import "RootViewController.h" 

#import "MyTableViewController.h" 


@implementation RootViewController 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    MyTableViewController *tableViewController = [[MyTableViewController alloc] init]; 

} 

@end 


#import "MyTableViewController.h" 


@implementation MyTableViewController 

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSLog(@"sedfsdsd"); 
} 

@end 

我不想在實例創建時顯示視圖。我想調用構造函數方法。我不知道該怎麼做。請幫助我。

回答

1

@Caroline所描述非常好。

你的類的一個常規方法可以滿足你的目的,你可以將它命名爲ViewContruction並在你的MyTableViewController類中定義它。

-(void) ViewContruction 
{ 
    //Create all your views here 

    //Add that to the self.view of your controller 
} 

在視圖控制器的實例上顯式調用上述函數。

1

只是創建一個UIViewController實例不會加載視圖。

如果您有類似[self.view addSubview:tableViewController.view]的內容,那麼當執行該語句時,viewDidLoad將被執行。

但是,如果它是一個基於導航的應用程序,那麼您將需要推視控制器來查看它,而不是像上面那樣添加子視圖。

例如:

 Settings *settingsController = [[Settings alloc] initWithNibName:@"Settings" bundle:nil]; 
     settingsController.contentSizeForViewInPopover = settingsController.view.frame.size; 
     [self.navigationController pushViewController:settingsController animated:YES]; 
     [settingsController release]; 
+0

好的我不想在創建實例時顯示視圖...我想調用構造函數方法..我不知道如何擁有它...請幫助我 – user198725878 2011-05-28 06:16:53

相關問題