#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. хорошо, я не хочу показывать представление при создании экземпляра … я хочу вызвать метод конструктора .. я не знаю, как это сделать … пожалуйста, помогите мне