Основной текст данных в URL для RSS-приложения для iphone - PullRequest
0 голосов
/ 10 ноября 2010

У меня есть этот код для настройки ячейки для основных данных: Код:

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {

    NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
    cell.textLabel.text = [[managedObject valueForKey:@"data"] description];
}

Но я хочу сделать это, когда я нажму на строку, здесь: Код:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Navigation logic may go here -- for example, create and push another view controller.
     RssFunViewController *rssFun = [[RssFunViewController alloc] initWithNibName:@"RssFunViewController" bundle:nil];
     //NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
     [self.navigationController pushViewController:rssFun animated:YES];
     [rssFun release];

}

Вставьте текст строки в URL здесь: Код:

-(BOOL)fetchAndParseRss{
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

   [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

   //To suppress the leak in NSXMLParser
   [[NSURLCache sharedURLCache] setMemoryCapacity:0];
   [[NSURLCache sharedURLCache] setDiskCapacity:0];

   NSURL *url = [NSURL URLWithString:@"http://news.search.yahoo.com/rss?ei=UTF-8&p=lindsay+lohan&fr=news-us-ss"];
   BOOL success = NO;
   NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
   [parser setDelegate:self];
   [parser setShouldProcessNamespaces:YES];
   [parser setShouldReportNamespacePrefixes:YES];
   [parser setShouldResolveExternalEntities:NO];
   success = [parser parse];
   [parser release];
   [pool drain];
   return success;
}

Так что там, где написано Линдсей + Лохан, я добавлю здесь поисковый запрос пользователей.Дело в том, что третий фрагмент кода находится в BlogRss.m, а первые два бита - в RootViewController.m ??Не уверен, как сделать ссылку ??Любые идеи ...

Спасибо

1 Ответ

1 голос
/ 11 ноября 2010

Вам необходимо передать NSManagedObject во входящий контроллер представления:

- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath 
{
  // Navigation logic may go here -- for example, create and push another view controller.
  RssFunViewController *rssFun = [[RssFunViewController alloc] initWithNibName:@"RssFunViewController" bundle:nil];
  NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
  [rssFun setSelectedObject:selectedObject];
  [[self navigationController] pushViewController:rssFun animated:YES];
  [rssFun release], rssFun = nil;
}

Это означает, что ваш RssFunViewController должен иметь свойство с именем selectedObject, которое объявлено как NSManagedObject.

Тогда вы можете закончить свой метод:

- (BOOL)fetchAndParseRss 
{
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

   [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

   //To suppress the leak in NSXMLParser
   [[NSURLCache sharedURLCache] setMemoryCapacity:0];
   [[NSURLCache sharedURLCache] setDiskCapacity:0];

   NSString *terms = [[self selectedObject] vaueForKey:@"data"];
   NSURL *url = [NSURL URLWithString:[NSString stirngWithFormat:@"http://news.search.yahoo.com/rss?ei=UTF-8&p=%@&fr=news-us-ss", terms]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...