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

时间:2013-01-24 05:30:52

标签: ios objective-c arrays uitableview

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

这是一个解析器类

-(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];
    }

以下代码是mainviewcontroller

- (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显示国家/地区名称 我只是新目标 - 我希望有人可以帮助我

4 个答案:

答案 0 :(得分:5)

我认为你应该在应用数据之前深入了解UITableView。

这是一个非常基本的例子:https://github.com/makadaw/UITableView-Sample

调查Apple的一些例子:https://developer.apple.com/library/ios/#samplecode/TableViewSuite/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007318

答案 1 :(得分: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;

    }

答案 2 :(得分:1)

此行存在问题:

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

将其更改为:

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

答案 3 :(得分:1)

在这里你可以看到更好的解析教程,如你的格式.. http://www.theappcodeblog.com/2011/05/09/parsing-xml-in-an-iphone-app-tutorial/