有可变阵列的麻烦从Plist加载表视图中的部分

时间:2009-10-26 00:47:37

标签: iphone arrays plist tableview

在AppDelegate中加载的Plist具有以下结构:

Root ---->字典

测试项目---->阵列

项目1 ---->字典

HeaderTitle ---->字符串---->第1节

项目---->阵列

项目1 ---->字典

FirstName ---->字符串---->任何名称

SecondName ---->字符串---->另一个名字

CellIcon ---->字符串----> Icon.gif

查看---->号----> 2

第2项---->字典

FirstName ---->字符串---->任何名字2

SecondName ---->字符串---->另一个名字2

CellIcon ---->字符串----> Icon2.gif

查看---->号----> 2

我有一个TableViewController.m,它要求我将上面的plist结构放在一个包含5个部分的表视图中。问题是我无法在我的表视图的描述部分中显示该数据。我在编写一个可变数组来完成这个任务时感到很困惑。我已经使用数组来控制表中的不同级别(视图),但是我无法添加可变数组来控制表的各个部分。我的代码如下:

- (void)viewDidLoad {
[super viewDidLoad];

if (CurrentLevel == 0) {
    NSArray *tempArray = [[NSArray alloc] init];
    self.tableDataSource = tempArray;
    [tempArray release];

    TheAppDelegate *AppDelegate = (TheAppDelegate *)[[UIApplication sharedApplication] delegate];
    self.tableDataSource = [AppDelegate.data objectForKey:@"SampleArray"];
    self.navigationItem.title = @"Main";

          }
      else 
    self.navigationItem.title = CurrentTitle;   
          }

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; 
}


- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [menuSections count];
}

- (NSString *)tableView:(UITableView *)tableView     titleForHeaderInSection:(NSInteger)section {
NSDictionary *menuSection = [menuSections objectAtIndex:section];
return [menuSection objectForKey:@"HeaderTitle"];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section     {
NSArray *menuItems = [[menuSections objectAtIndex:section] objectForKey:@"Items"];
return [menuItems count];
}

1 个答案:

答案 0 :(得分:0)

您的代码没有任何问题,在输入这​​些方法时,您确定您的数组中包含数据吗?