如何将数组元素放在表格视图单元格上

Posted

技术标签:

【中文标题】如何将数组元素放在表格视图单元格上【英文标题】:how to put array elements on a table view cell 【发布时间】:2013-01-24 05:30:52 【问题描述】:

我一直在尝试将我的数组的值放在我的表格视图单元格中,它是多维数组我应该怎么做?

这是一个解析器类

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

if ([elementName isEqualToString:@"subsidiary"])

      NSLog(@"%i", [app.infoarray count]);
    [app.listArray addObject:app.infoarray];
    [app.infoarray removeAllObjects];


else

     if ([elementName isEqualToString:@"countryname"])
     
         temp = currentElementValue;

     
    if ([elementName isEqualToString:@"name"])
    

        theList.name = currentElementValue;
        [app.infoarray addObject:theList.name];
    
    if ([elementName isEqualToString:@"address"])
    
        theList.address = currentElementValue;
        [app.infoarray addObject:theList.address];
    

下面的代码是主视图控制器

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

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;


theList.countryname = [app.listArray objectAtIndex:0];
cell.textLabel.text= theList.countryname; ////<<WHAT SHOULD I DO HERE?
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;


我只想让 cell.textlabel 显示国家名称 我是objective-c的新手,希望有人能帮助我

【问题讨论】:

【参考方案1】:

试试吧

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

static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    

    theList.countryname = [app.listArray objectAtIndex: indexPath.row];
    cell.textLabel.text= theList.countryname;
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;

    

【讨论】:

@Tbt-lionArmanCapistrano:你使用了tableview委托吗? NSlog(@"%@",[theList.countryname]); 它为空,list.countryname 中没有值。我该怎么办? @Tbt-lionArmanCapistrano:您没有将国家/地区名称存储在数组中【参考方案2】:

这行有问题:

theList.countryname = [app.listArray objectAtIndex:0];

改成:

theList.countryname = [[app.listArray objectAtIndex:indexPath.row] objectAtindex:0];

【讨论】:

我收到一个错误:(“无法识别的选择器发送到实例 0x71854a0'”

以上是关于如何将数组元素放在表格视图单元格上的主要内容,如果未能解决你的问题,请参考以下文章

自定义表格视图单元格上的多个图像(Swift)

表视图,如何将删除按钮放在前面?

在表格视图单元格上添加标签文本[关闭]

在表格视图中按下单元格上的按钮时如何创建新单元格

将占位符添加到表格视图单元格上的文本字段

iOS 8 中的表格视图单元格自动布局