gpt4 book ai didi

ios - 数据库中的组名。仅显示一组名称 UITableView 行

转载 作者:行者123 更新时间:2023-11-29 03:24:41 25 4
gpt4 key购买 nike

我使用 parse.com 作为我的数据库,当我执行 PFQuery 时,我得到一个包含我需要的一切的数组。现在,每个Item都有一个组,我希望当用户单击时在一个UITableViewController中包含组名称。我想用 group 中的 Item 打开另一个 UITableViewController

我的数组包含三个项目,例如:

项目 1A组

第 2 项A组

第 3 项A组

现在,假设在我的第一个 UITableView 中,我只想显示一个带有标签 GROUP A 的单元格,因为用户没有任何 item 在其他 group 中。相反,通过以下代码,我得到了三个标记为 GROUP A 的单元格,因为我有 3 个 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);

我得到以下大纲:

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"
)

这是我的组,我只想显示同一组的一个单元格,因此,在这个数组中,由于我只有同一组的项目,我想显示一个标记为“Serie A”的单元格。我仍然不确定如何使用 cell.textLabel.text = ... 行来做到这一点。

最佳答案

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

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

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

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

关于ios - 数据库中的组名。仅显示一组名称 UITableView 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20611428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com