Цель C Вызов метода в другом классе - PullRequest
0 голосов
/ 26 июля 2011

У меня есть 2 класса, например, MainViewController и 'FooView'.

В MainViewController у меня есть метод с именем -(void)doSearch

Я пытаюсь вызвать doSearch из Foo, это увидеть в журнале "doSearch" (NSLog), но UIWebView не отвечает.

Foo

MainViewController *mainVc = [[MainViewController alloc] init];
[mainVc doSearch];

MainViewController


- (void)doSearch {
    NSLog(@"doSearch");
    [myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]]];
}

myWebView - это UIWebView.

Спасибо

Гай Дор

Ответы [ 3 ]

0 голосов
/ 26 июля 2011

Я думаю, что-то здесь ноль.В Obj-C вы можете отправлять сообщения (методы вызова) на объект nil без ошибок или исключений.В вашем случае ваш MainViewController может быть нулевым в FooView, или возможно, что-то в этом методе равно nil.Например, если для этого контроллера представления есть файл xib, его необходимо загрузить с помощью initWithNibName: bundle :.Если вы этого не сделаете, то IBOutlets будет равен нулю (возможно, myWebView в вашем doSearch: метод, например).

0 голосов
/ 26 июля 2011

если вы создаете MainViewController с файлом NIB, тогда вам нужно вызывать вот так.

  MainViewController *mainVc = [[MainViewController alloc]initWithNibName:@"MainViewController" bundle:nil];

  [mainVc doSearch];
0 голосов
/ 26 июля 2011

Проверьте, не является ли mainVc нолем. Вы вероятно падаете при инициализации этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...