Как иметь метод конструктора и как вызывать его при создании экземпляра?

#iphone #ios4

#iPhone #ios4

Вопрос:

Я создал приложение на основе навигации. В этом я создал, 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
}
  

Вызовите вышеупомянутую функцию явно на экземпляре вашего контроллера представления.

Ответ №2:

Простое создание экземпляра UIViewController не загружает представление.

Если у вас есть что-то вроде [self.view addSubview:tableViewController.view] , то при выполнении этого оператора будет выполнен viewDidLoad.

Однако, если это приложение на основе навигации, то вам нужно будет нажать viewcontroller, чтобы увидеть его, а не добавлять вложенный просмотр, как указано выше.

Например:

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

Комментарии:

1. хорошо, я не хочу показывать представление при создании экземпляра … я хочу вызвать метод конструктора .. я не знаю, как это сделать … пожалуйста, помогите мне