2013-01-22 3 views
-1

I upload image that it for show you that by using this code how it display content in uitablevirwi는 사용자 정의 셀에 XML 데이터를 표시하기 위해 노력하고있어하지만 작동하고, 그것은 하나의 데이터

- (void)viewDidLoad 
    { 
     NSURL *url=[[NSURL alloc]initWithString:@"http://avweatherforecasts.com/services/iphoneservice.php"];  
     DaTa=[[NSData alloc]initWithContentsOfURL:url];  
     NSLog(@"data----%@",DaTa); 
     Xmlpaeser=[[NSXMLParser alloc]initWithData:DaTa];  
     Xmlpaeser.delegate=self;  
     [Xmlpaeser parse]; 
     [Xmlpaeser release]; 

     [super viewDidLoad]; 
     // Do any additional setup after loading the view, typically from a nib. 
    } 



- (void)parserDidStartDocument:(NSXMLParser *)parser{ 
     array=[[NSMutableArray alloc]init]; 
     strcontent=nil; 
    } 

    - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ 

     if ([elementName isEqualToString:@"start"]) 
     {   
      Dict=[[NSMutableDictionary alloc]init];  
     } 
    } 

    - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ 

     strcontent=[NSString stringWithFormat:@"%@",string]; 

     NSLog(@"Strcontent----%@",strcontent); 
    } 

    - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ 


      if ([elementName isEqualToString:@"city"]){ 
       [Dict setObject:strcontent forKey:elementName]; 
      } 
      if ([elementName isEqualToString:@"min"]){ 
       [Dict setObject:strcontent forKey:elementName]; 
      } 
      if ([elementName isEqualToString:@"max"]){ 
       [Dict setObject:strcontent forKey:elementName]; 
      } 
      if ([elementName isEqualToString:@"forecast"] 
       ) { 

       [Dict setObject:strcontent forKey:elementName]; 
       NSLog(@"dict--%@",[Dict description]); 
      }   
      else if([elementName isEqualToString:@"start"]){    
       [array addObject:Dict]; 

       [Dict release];  
     } 
    } 

    - (void)parserDidEndDocument:(NSXMLParser *)parser{ 

     NSLog(@"array--%@",[array description]);  

    } 

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 

     return [array count]; 

    } 

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

     static NSString *[email protected]"cell"; 

     custome_cell *Cell=(custome_cell *)[tableView dequeueReusableCellWithIdentifier:identifier]; 

     if (Cell==nil) { 

      NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"custome_cell" owner:self options:nil]; 
      Cell = [nib objectAtIndex:indexPath.row]; 
     }  
     Cell.city.text=[[array objectAtIndex:indexPath.row] objectForKey:@"city"]; 
     Cell.min.text=[[array objectAtIndex:indexPath.row] objectForKey:@"min"]; 
     Cell.max.text=[[array objectAtIndex:indexPath.row] objectForKey:@"max"]; 
     Cell.forecast.text =[[array objectAtIndex:indexPath.row] objectForKey:@"forecast"]; 

     return Cell;  
    } 

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 

     return 80; 
    } 
+0

uitabelview.it의 맞춤 셀에 xml 데이터가 표시되지 않습니다. –

+0

코드를 게시 해 주셔서 감사합니다. 실제로 문제가 무엇인지 또는 문제를 해결하기 위해 무엇을 시도했는지에 대해 자세히 설명하지 않은 것은 유감입니다. –

+0

이 코드의 출력을 게시 할 수 있습니까? ??? –

답변

2

을이 시도 ... 그것은 도움이 될 수 있음 ... 표시

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
     return [CommentsGetArray count]; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) 
    { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] ; 
     //[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 
     cell.selectionStyle = UITableViewCellSelectionStyleNone; 



     commentsTextView = [[UITextView alloc]initWithFrame:CGRectMake(90, 4, 190, 50)]; 
     commentsTextView.delegate = self; 
     commentsTextView.tag = 101; 
     commentsTextView.textAlignment = UITextAlignmentLeft; 

     [commentsTextView setScrollEnabled:YES]; 

     commentsTextView.backgroundColor =[UIColor clearColor]; 
     commentsTextView.font = [UIFont fontWithName:@"Arial" size:12.0]; 
     commentsTextView.textColor =[UIColor blackColor]; 
     commentsTextView.editable = NO; 
     [cell addSubview:commentsTextView]; 



    } 



    commentsTextView = (UITextView *)[cell viewWithTag:101]; 
    commentsTextView.text = [[CommentsGetArray objectAtIndex:indexPath.row]objectForKey:@"comment"]; 


    return cell; 

} 
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    return 70; 
} 

대신 uitextView 대신 레이블로 사용할 수 있으며 더 많은 텍스트보기를 만들거나 레이블을 지정하여 데이터를 표시 할 수 있지만 프레임 변경은 기억하십시오.

+0

x에 감사하고 시도해 봅시다 ... –

+0

thatnk x @ udha. 그것은 정말 작동 –

+0

@ NikunjSuthar 당신은 대답을 받아 들일 수 있으며, 또한 내 대답 upvote 수 있습니다 .. :) –