如何根据iPhone中的表视图数据创建节表视图?

如何根据iPhone中的表视图数据创建节表视图?,iphone,uitableview,Iphone,Uitableview,我想创建一个剖切表视图。使用XML解析,我得到了数据并显示在表视图中。现在我想检查数据是否为空,那么它不应该创建表视图部分。所以我想在创建表视图之前检查它。也就是说,如果数据不是空的,那么应该创建一个节,否则不能创建节。因此,表视图部分仅取决于数据(是否为空) 这里是我的示例代码 person = [[Person alloc] initWithPersonName:DictionaryValue]; // Passing the values via Dictionary. [self.n

我想创建一个剖切表视图。使用XML解析,我得到了数据并显示在表视图中。现在我想检查数据是否为空,那么它不应该创建表视图部分。所以我想在创建表视图之前检查它。也就是说,如果数据不是空的,那么应该创建一个节,否则不能创建节。因此,表视图部分仅取决于数据(是否为空)

这里是我的示例代码

 person = [[Person alloc] initWithPersonName:DictionaryValue]; // Passing the values via Dictionary.
 [self.navigationController pushViewController:person animated:YES];
亲自上课:

-(Person *) initWithPersonName:(NSMutableDictionary *) personDict  
{
  self.tableView.delegate = self;

      [[NSBundle mainBundle] loadNibNamed:@"Person" owner:self options:nil];

       NSString *firstName = [personDict valueForKey:@"firstName"];

       NSString *lastName = [personDict valueForKey:@"lastName"];

       NSString *cityName = [personDict valueForKey:@"city"];

       NSString *stateName = [personDict valueForKey:@"state"];

       return self;
 }
我想创建两个部分

                  section - 1 -- > [firstName, LastName];
                  section - 2 -- > [city, state];
如何将这些节值放入数组中。可以创建一个数组来使用这两个部分,或者需要创建一个单独的数组来存储单独的部分

假设我得到任何数据的空值,因此它不应该创建表视图部分。实现这一目标的可能性是什么?请引导我

请给我任何样本代码或样本链接


谢谢。

您需要在UITableViewController子类中实现-NumberOfSectionsTableView:、-tableView:TitleForHeaderSection:、和-tableView:numberOfRowsInSection:(如果还没有,请创建一个)。这些名字不言自明。所以你可以这样做:

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

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {

    if (section == 0) return @"Title of section 1";
    if (section == 1) return @"Title of section 2";
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // return the number of rows you've got based on the section index
}
我相信,这将创建节标题,而不管其中是否有行,但下面不会显示任何内容。因此,如果一个部分没有数据,它显然是空的。有道理吗


Cody

您需要在UITableViewController子类中实现-NumberOfSectionsTableView:,-tableView:TitleForHeaderSection:,和-tableView:numberOfRowsInSection:(如果还没有,请创建一个)。这些名字不言自明。所以你可以这样做:

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

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {

    if (section == 0) return @"Title of section 1";
    if (section == 1) return @"Title of section 2";
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // return the number of rows you've got based on the section index
}
我相信,这将创建节标题,而不管其中是否有行,但下面不会显示任何内容。因此,如果一个部分没有数据,它显然是空的。有道理吗


Cody

我已经使用了表视图的所有属性。我想知道创建的表视图部分动态地依赖于NSMutableDictionary数据。谢谢。你能试着换个说法吗?我不清楚您到底想要什么。我的目标是,在firstName=@“”或nil的情况下,为-section-1(姓氏)和section-2[城市、州]创建表节。所以我应该删除名字的第一行。所以它在第一部分只显示姓氏,在第二部分显示城市、州。所以这取决于数据是否为空。如果数据为空,则应删除该行或节。感谢我的想法,在创建表视图并分配单元格中的节数或行数之后,我应该检查数据是否为空。谢谢。我已经使用了表视图的所有属性。我想知道创建的表视图部分动态地依赖于NSMutableDictionary数据。谢谢。你能试着换个说法吗?我不清楚您到底想要什么。我的目标是,在firstName=@“”或nil的情况下,为-section-1(姓氏)和section-2[城市、州]创建表节。所以我应该删除名字的第一行。所以它在第一部分只显示姓氏,在第二部分显示城市、州。所以这取决于数据是否为空。如果数据为空,则应删除该行或节。感谢我的想法,在创建表视图并分配单元格中的节数或行数之后,我应该检查数据是否为空。谢谢