Не удается извлечь информацию из RSS - Xcode - PullRequest
0 голосов
/ 18 августа 2011

Я создал приложение и оставил Rss для конца, когда я его построил, все работает, кроме того, что я не вижу информацию из RSS, я вижу заголовок в табличном представлении, но я могуне видите изображение, название и описание.Пожалуйста, помогите мне с этим, Спасибо, заранее, Джон

(Приложение основано на: Просмотреть приложение!), Также я прилагаю свой код:

-(void)reloadRss{   
    [self toggleToolBarButtons:NO];     
    [[self rssParser]startProcess]; 
}

-(void)toggleToolBarButtons:(BOOL)newState{     
    NSArray *toolbarItems = self.toolbar.items;     
    for (UIBarButtonItem *item in toolbarItems){
        item.enabled = newState;    
    }    
}

//Delegate method for blog parser will get fired when the process is completed
- (void)processCompleted{   
    //reload the table view     
    [self toggleToolBarButtons:YES];    
    [[self tableView]reloadData]; 
}

-(void)processHasErrors{    
    //Might be due to Internet  
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"The" message:@"איןאפשרות להוריד מידע.                                             אנאבדוק את חיבור האינטרנט שלך." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];    
    [alert show];       
    [alert release];    
    [self toggleToolBarButtons:YES]; 
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{   
    return [[[self rssParser]rssItems]count]; 
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{     
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"rssItemCell"];
    if(nil == cell){        
        cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"rssItemCell"]autorelease];     
    }   
    cell.textLabel.text = [[[[self rssParser]rssItems]objectAtIndex:indexPath.row]title];
    cell.detailTextLabel.text = [[[[self rssParser]rssItems]objectAtIndex:indexPath.row]description];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell; 
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [[self viewController] setCurrentlySelectedBlogItem:[[[self rssParser]rssItems]objectAtIndex:indexPath.row]];   
    [self.view addSubview:newsr];

}
-(IBAction)rss{
    [self.view addSubview:rss]; 
}

- (void)viewDidUnload {
    [super viewDidUnload];


    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil; }

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait); }


-(void)openWebLink{     // open a dialog with an OK and cancel button
    UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"האם אתה רוצה לפתוח דף זה ב-Safari ?" delegate:self cancelButtonTitle:@"בטל" destructiveButtonTitle:@"אשר" otherButtonTitles:nil];
    actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
    [actionSheet showFromToolbar:_toolbar];     
    [actionSheet release];   
}


- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{   
    if(buttonIndex == 0){
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[[[self viewController] currentlySelectedBlogItem]linkUrl]]];   
    } 
}

- (void)viewWillAppear:(BOOL)animated{  
    [super viewWillAppear:animated];    
    NSString * mediaUrl = [[[self viewController]currentlySelectedBlogItem]mediaUrl];   
    [[self image]setImage:[UIImage imageNamed:@"unknown.jpg"]];     
    if(nil != mediaUrl){        
        NSData* imageData;      
        [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;        
        @try {
            imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:mediaUrl]];
        }       
        @catch (NSException * e) {          
            //Some  error while downloading data        
        }       
        @finally {          
            UIImage * imageFromImageData = [[UIImage alloc] initWithData:imageData];
            [[self image]setImage:imageFromImageData];          
            [imageData release];
            [imageFromImageData release];       
        }       
        [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;    
    }
    self.titleTextView.text = [[[self viewController] currentlySelectedBlogItem]title];
    self.descriptionTextView.text = [[[self viewController] currentlySelectedBlogItem]description];    
}


@end

1 Ответ

0 голосов
/ 19 августа 2011

Попробуйте расшифровать содержимое RSS что-то вроде:

NSWindowsCP1252StringEncoding

NSUTF8StringEncoding

...

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