数据库中的组名。仅显示一个组名UITableView行

时间:2013-12-16 12:52:26

标签: ios uitableview parse-platform

我使用parse.com作为我的数据库,当我执行PFQuery时,我得到一个包含我需要的所有内容的数组。现在,每个Item都有一个组,我想在用户点击时将group name放在一个UITableViewController中。我想在UITableViewController中使用Item打开另一个group

我的数组有三个项目,如:

项目1 A组

项目2 A组

项目3 A组

现在,假设在我的第一个UITableView中,我只想显示一个标签为GROUP A的单元格,因为用户在其他{{1}中没有任何item个}}秒。相反,使用以下代码,我得到三个标记为group的单元格,因为我有3 GROUP A s。

item

假设我只能显示一个标记为PFObject *o = _seriesArray[indexPath.row]; cell.textLabel.text = o[@"serie"]; 的单元格,当用户点击GROUP A时,我想显示一个新的GROUP A,其中包含三个UITableView。我怎样才能做到这一点?

我的源数据是:

item

这是查询:

"<ExerciciosPeso:j4HWUbQaX3:(null)> {\n    exercicio = \"<Exercicios:Iv2XB4EHSY>\";\n    peso = 50;\n    serie = \"Serie A\";\n    usuario = \"<PFUser:W9ifgHpbov>\";\n}",
"<ExerciciosPeso:F11VGC6Nq9:(null)> {\n    exercicio = \"<Exercicios:nmqArIngvR>\";\n    peso = 40;\n    serie = \"Serie A\";\n    usuario = \"<PFUser:W9ifgHpbov>\";\n}",
"<ExerciciosPeso:izxU3w0j7u:(null)> {\n    exercicio = \"<Exercicios:CXecX4DJiO>\";\n    peso = 30;\n    serie = \"Serie A\";\n    usuario = \"<PFUser:W9ifgHpbov>\";\n}",
"<ExerciciosPeso:9t2PdNojl6:(null)> {\n    exercicio = \"<Exercicios:6slVOQnj3y>\";\n    peso = 10;\n    serie = \"Serie A\";\n    usuario = \"<PFUser:W9ifgHpbov>\";\n}"

我有一个类,其中有一些指向其他类的指针。此查询存储数组中的所有内容。

更新

- (PFQuery *)queryForTable {
    PFQuery *exerciciosQuery = [PFQuery queryWithClassName:@"ExerciciosPeso"];
    [exerciciosQuery whereKey:@"usuario" equalTo:[PFUser currentUser]];
    [exerciciosQuery includeKey:@"exercicio"];

    _seriesArray = [exerciciosQuery findObjects];

    return exerciciosQuery;
}

我得到以下概述:

NSArray *allInformation = _seriesArray;
NSLog(@"%@", allInformation);
NSArray *groups = [allInformation valueForKey:@"serie"];
NSLog(@"%@", groups);
NSSet *uniqueGroups = [NSSet setWithArray:groups];
NSLog(@"%@", uniqueGroups);
NSSortDescriptor *serieDescriptor = [[NSSortDescriptor alloc] initWithKey:@"serie" ascending:YES];
NSArray *sortDescriptors = @[serieDescriptor];
NSArray *groupsForDisplay = [uniqueGroups sortedArrayUsingDescriptors:sortDescriptors];
NSLog(@"%@", groupsForDisplay);

这是我的小组,我想只显示同一组的一个单元格,因此,从这个数组中,由于我只有来自同一组的项目,我想显示一个标记为“Serie A”的单元格。我仍然不确定如何使用行2013-12-16 12:00:13.954 IRON TRAINERS[15725:70b] ( "<ExerciciosPeso:j4HWUbQaX3:(null)> {\n exercicio = \"<Exercicios:Iv2XB4EHSY>\";\n peso = 50;\n serie = \"Serie A\";\n usuario = \"<PFUser:W9ifgHpbov>\";\n}", "<ExerciciosPeso:F11VGC6Nq9:(null)> {\n exercicio = \"<Exercicios:nmqArIngvR>\";\n peso = 40;\n serie = \"Serie A\";\n usuario = \"<PFUser:W9ifgHpbov>\";\n}", "<ExerciciosPeso:izxU3w0j7u:(null)> {\n exercicio = \"<Exercicios:CXecX4DJiO>\";\n peso = 30;\n serie = \"Serie A\";\n usuario = \"<PFUser:W9ifgHpbov>\";\n}", "<ExerciciosPeso:9t2PdNojl6:(null)> {\n exercicio = \"<Exercicios:6slVOQnj3y>\";\n peso = 10;\n serie = \"Serie A\";\n usuario = \"<PFUser:W9ifgHpbov>\";\n}" ) 2013-12-16 12:00:13.955 IRON TRAINERS[15725:70b] ( "Serie A", "Serie A", "Serie A", "Serie A" ) 2013-12-16 12:00:13.955 IRON TRAINERS[15725:70b] {( "Serie A" )} 2013-12-16 12:00:13.955 IRON TRAINERS[15725:70b] ( "Serie A" ) 来做到这一点。

1 个答案:

答案 0 :(得分:1)

获得源信息数组后,需要对其进行过滤以生成不同的组,然后对其进行排序以进行显示。

NSArray *allInformation = ...;
NSArray *groups = [allInformation valueForKay:@"serie"];
NSSet *uniqueGroups = [NSSet setWithArray:groups];
NSArray *groupsForDisplay = [uniqueGroups sortedArrayUsingDescriptors:...];

你需要根据你想要的顺序创建排序描述符......

然后,当用户点击时,您可以获取组名称并过滤(使用NSPredicate)源信息以查找该组中的所有项目。