Я создаю новый UIViewController с 2 свойствами:
@property (retain, nonatomic) NSURL *url;
@property (retain, nonatomic) NSString *title;
и синтезирован:
@synthesize url = _url;
@synthesize title = _title;
в моем пользовательском методе инициализации, я не использую сеттер, как памятьРуководство по управлению говорит, но когда мне нужно использовать свойства в viewDidLoad, URL-адрес кажется пустым, заголовок не отображается
- (id)initWithURL:(NSURL *)url andTitle:(NSString *)titleTemp
{
self = [super initWithNibName:@"navigatorViewController" bundle:nil];
if (self) {
_url = url;
_title = titleTemp;
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[_titreBarButtonItem setTitle:_title];
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:_url];
[_webView loadRequest:urlRequest];
[urlRequest release];
}
. Я вижу свой заголовок, но мое веб-представление пусто.Если я использую self.url в init, он работает!
У вас есть идея?
PS: Вот как я называю свой init:
NSString *urlString = [[[NSBundle mainBundle] pathForResource:@"infos" ofType:@"html"] copy];
NSURL *url = [[NSURL alloc] initFileURLWithPath:urlString];
[urlString release];
navigatorViewController *navigatorVC = [[navigatorViewController alloc] initWithURL:url andTitle:@"Infos"];
[url release];
[self presentViewController:navigatorVC animated:YES completion:nil];
[navigatorVC release];
Спасибомного