来自xml解析器的单例问题。 afternavigation

时间:2010-10-16 07:32:46

标签: iphone xml uitableview nsarray

解析xml之后

。我存储在NSMutableArray * anArray中的xml属性数据;在MyAppDelegate中。我在MyAppDelegate中使用了anArray。

对于我的xml,我确实有一个根标签和N个子标签。

我的xml示例:

  <root>
    <child name1="",name2="",name3=""/>
    <child name1="",name2="",name3=""/>
    <child name1="",name2="",name3=""/>
    </root>

我完美地解析了数据,并在表View上显示了name1 ..... 当我导航时,使用了didSelectRowAtIndexPath。我加载了nib文件。其中有tableview IBOutlet。我为我的笔尖设置类....数据源和委托给文件所有者每件事都完美无缺。导航的东西工作得很好....

现在我需要将数据加载到第二个nib文件tableview name2和name3值中。但它只显示name2值。该怎么做..我在我的控制器类中使用了上面的代码。为第二个笔尖。

  - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
        return 1;
    }
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section     {
        return [appDelegate.anArray count]; 
    }

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

        static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
        }


        DetailsView *detailsview=[appDelegate.anArray objectAtIndex:indexPath.row];
        switch (indexPath.section) {
            case 0:
                cell.textLabel.text=detailsview.name1;
                break;
                case 1:
                cell.textLabel.text=detailsview.name2;
                    break;
                            default:
                break;
    }
    return cell;
    }

1 个答案:

答案 0 :(得分:0)

在您的方法numberOfSectionsInTableView中,您说您的表格视图只有一个部分。然后在cellForRowAtIndexPath方法中,您可以切换该部分。根据上面的代码,只显示name1,因为您的部分将始终为0。