2012-08-13 36 views
1
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict 
{ 
    if([elementName isEqualToString:@"PublicBusinessName"]) 
    { 
    boolListofareasdata=YES; 
    } 
    else if([elementName isEqualToString:@"ProfessionName"]) 
    { 
     boolListofareasdata1=YES; 
    } 
    else if([elementName isEqualToString:@"PublicContactEmail"]) 
    { 
     boolListofareasdata2=YES; 
    } 
    else if([elementName isEqualToString:@"PublicBusinessURL"]) 
    { 
     boolListofareasdata3=YES; 
    } 
    else if([elementName isEqualToString:@"BrandLogoName"]) 
    { 
     boolListofareasdata4=YES; 
    } 
} 


- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    if (boolListofareasdata) 
    { 
     [arrareasdata addObject:string]; 

     NSLog(@"NAME...............%@",arrareasdata); 
    } 
    else if (boolListofareasdata1) 
    { 
     [arrareasdata1 addObject:string]; 

     NSLog(@"DESIGN..............%@",arrareasdata1); 
    } 
    else if (boolListofareasdata2) 
    { 
     [arrareasdata2 addObject:string]; 

     NSLog(@"DESIGN..............%@",arrareasdata1); 
    } 
    else if (boolListofareasdata3) 
    { 
     [arrareasdata3 addObject:string]; 

     NSLog(@"WEB....................%@",arrareasdata3); 
    } 
    else if (boolListofareasdata4) 
    { 
     [arrareasdata4 addObject:str]; 

     NSLog(@"WEB....................%@",arrareasdata4); 
    } 
} 

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 
    if ([elementName isEqualToString:@"PublicBusinessName"]) 
    { 
     boolListofareasdata=NO; 
    } 
    else if ([elementName isEqualToString:@"ProfessionName"]) 
    { 
     boolListofareasdata1=NO; 
    } 
    else if([elementName isEqualToString:@"PublicContactEmail"]) 
    { 
     boolListofareasdata2=NO; 
    } 
    else if ([elementName isEqualToString:@"PublicBusinessURL"]) 
    { 
     boolListofareasdata3=NO; 
    } 
    else if ([elementName isEqualToString:@"BrandLogoName"]) 
    { 
     boolListofareasdata4=NO; 
    } 
} 

- (void)parserDidEndDocument:(NSXMLParser *)parser{ 
    [tableView reloadData]; 
} 

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

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

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

    static NSString *CellIdentifier = @"CustomCell"; 

    CustomCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) {   
     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 

     for (id currentObject in topLevelObjects) 
     { 
      if ([currentObject isKindOfClass:[UITableViewCell class]]) 
      { 
       cell = (CustomCell *) currentObject; 
       break; 
      } 
     } 
    } 

    NSLog(@"TABLE VIEW CONTROLLER........................"); 
    cell.nameLabel.text = [arrareasdata objectAtIndex:indexPath.row]; 
    cell.designLabel.text = [arrareasdata1 objectAtIndex:indexPath.row]; 
    cell.emailLabel.text = [arrareasdata2 objectAtIndex:indexPath.row]; 
    cell.webLabel.text = [arrareasdata3 objectAtIndex:indexPath.row]; 

    return cell; 
} 
+1

你的問題不明確,你的代碼轉儲沒有太大的幫助。缺少什麼元素?什麼數據被返回?你的自定義單元格是做什麼的?你的NSLog的輸出是什麼。努力縮小你的問題和代碼,有人可能會幫助 – bryanmac 2012-08-13 11:25:17

+0

其實我提取一些價值並顯示到tableview中。在這種情況下,來自asmx響應的一些空標記。所以我不能檢查空標籤... – Siva 2012-08-13 13:36:29

回答

0

在UITableViewCell中添加空值是這樣的:

NSString *strName = [arrareasdata objectAtIndex:indexPath.row]; 
if((strName.length > 0) 
{ 
    cell.nameLabel.text = strName; 
} 
else 
{ 
    cell.nameLabel.text = @""; 
} 
//same logic for designLabel,emailLabel,webLabel in which u will fill your data 
+0

如果(([[arrareasdata objectAtIndex:indexPath.row] .length> 0)的物體「長度」未在類型'id'的對象上找到' { cell.nameLabel的.text = [arrareasdata objectAtIndex:indexPath.row] } 其他 { cell.nameLabel.text = @ 「」;} 我 – Siva 2012-08-13 12:50:22

+0

錯誤檢查編輯答案 – 2012-08-13 12:56:58

+0

病例組的值獲得(如姓名,年齡,地址, )從webservices,如果年齡標籤不是來自有時剩下的兩個標籤越來越...如何檢查這個?... – Siva 2012-08-24 04:14:30

相關問題