Ошибка Ipad: «Программа получила сигнал EXC_BAD_ACCESS» - PullRequest
0 голосов
/ 27 июля 2010

Я получаю эту ошибку при развертывании на iPad. Это не происходит в симуляторе.

В моем приложении для ipad есть три UIWebView. Большая часть этого приложения написана полностью как веб-приложение и использует CSS, чтобы сделать его более естественным. Ссылки, по которым щелкают различные веб-представления, открываются в определенном виде в зависимости от значения переменной запроса «iPadTarget».

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSURL *url = [request URL];

 //Extract the value from request variable 'iPadTarget' in url string.
 NSString *test = [url query];
 int index = [test rangeOfString:@"iPadTarget="].location; 
 int target = index + 11;
 NSLog(@"%i", target);
 char c = [test characterAtIndex:target];
 NSLog(@"%c",c);

 if (navigationType == UIWebViewNavigationTypeLinkClicked) {
  if (c == '1') {
      [viewOne loadRequest:request];
      return NO;
  } else if (c == '2') {
   [viewTwo loadRequest:request];
   return NO;
  } else if (c == '3') {
   [viewThree loadRequest:request];
   return NO;
  }
 } 
  return YES;
  [url release];
    }

Приведенный выше код находит переменную «iPadTarget» и извлекает ее значение (от 1 до 3). Почему я получаю эту странную ошибку? Любая помощь приветствуется.

1 Ответ

1 голос
/ 27 июля 2010

Линия

[url release];

является источником вашей проблемы.Вы выпускаете объект, который вам не принадлежит.Вы получили URL через метод запроса -URL, и, поскольку он не содержит new, create или copy, вы не являетесь его владельцем.Удалите строку [url release] и перечитайте рекомендации по управлению памятью.

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