我使用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"
)
来做到这一点。
答案 0 :(得分:1)
获得源信息数组后,需要对其进行过滤以生成不同的组,然后对其进行排序以进行显示。
NSArray *allInformation = ...;
NSArray *groups = [allInformation valueForKay:@"serie"];
NSSet *uniqueGroups = [NSSet setWithArray:groups];
NSArray *groupsForDisplay = [uniqueGroups sortedArrayUsingDescriptors:...];
你需要根据你想要的顺序创建排序描述符......
然后,当用户点击时,您可以获取组名称并过滤(使用NSPredicate
)源信息以查找该组中的所有项目。