0

我有一个NSArray,我需要从两个键中获取数据并放在一个NSMutableDictionary. 一个键具有string值和其他NSNumber值。当我尝试在NSCountedSet不添加要用于分隔的键的情况下创建时arrays,它不起作用,因为对象不相同,基本上,我需要检查是否objectId相同,不管其他键是否不同。

这是初始代码:

for (PFObject *objeto in objects) {
        PFObject *exercicio = objeto[@"exercicio"];
        NSString *string = exercicio.objectId;
        NSNumber *nota = objeto[@"nota"];
        [exercicios addObject:string];
        [notas addObject:nota];

所以我创建了两个NSMutableArrays并存储了我需要的值。当我log在此之后的数组时,它们是完全有序的,这意味着它与它在 other 中所属NSString的相同。到现在为止还挺好。indexNSNumberarray

现在,当我NSCountedSet使用字符串创建时,它会更改顺序。

NSCountedSet *countedExercicios = [[NSCountedSet alloc] initWithArray:exercicios];.

我的目标是sumNSNumbers特定对象相关,因此,当顺序更改时,我会失去两者之间的联系arrays

我不确定我能做些什么来解决这个问题,或者即使有不同的方法来实现我需要的结果。

4

1 回答 1

1

您可以创建 NSDictionary 并将其添加到数组中。您将只有一个数组并且不会丢失连接,您可以使用 objectId 作为键和 NSNumber 作为值:

for (PFObject *objeto in objects) {
        PFObject *exercicio = objeto[@"exercicio"];
        NSString *string = exercicio.objectId;
        NSNumber *nota = objeto[@"nota"];
        NSDictionary *dict = @{string: nota};
        [newArray addObject: dict];
}

当您需要获取所有密钥(objectId)时,您可以使用 NSPredictate。

希望这有帮助

于 2014-01-13T10:47:00.053 回答