我想创建一个分段表视图。使用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];
如何将这些节值放入数组中。可以创建单个数组以使用这两个部分,或者需要创建单独的数组来存储单独的部分。
假设我得到任何数据的空值,所以它不应该创建表视图部分。有什么可能实现这一目标?请指导我。
请给我任何示例代码或示例链接。
感谢。
答案 0 :(得分:0)
您需要在UITableViewController子类中实现-numberOfSectionsInTableView:, - tableView:titleForHeaderInSection:和-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
}
我相信,无论你是否有行,都会创建节标题,但不会在它下面显示任何内容。因此,如果没有数据,则一个部分是空的。有意义吗?
科迪