0

[这可能是一个菜鸟问题,但我花了很多时间来解决这个问题。]

基本上,我使用 www.parse.com 服务将我的数据存储在云中。我正在检索一个名为 objects 的 NSArray,它在控制台中的结果是:

2013-03-25 19:59:06.118 app[18960:c07] (
"<users:u8WRDUlfVg:(null)> {\n    pairs =     (\n        14120151,\n        14749606,\n        17230018\n    );\n    username = GeoffroyMorel;\n}"
)

然后,因为我想要 NSMutableArray 中的“对”值,所以我这样做:

pairsUserMutableArray = [objects mutableArrayValueForKey:@"pairs"];

控制台中的结果非常好,除了多了一对括号(这可能是以下问题的原因):

2013-03-25 19:59:06.119 app[18960:c07] (
    (
    14120151,
    14749606,
    17230018
)
)

现在的问题是,当我尝试添加一个对象并在控制台中显示结果时,它带有这样的括号:

2013-03-25 20:02:45.887 app[18960:c07] (
    (
            (
        14120151,
        14749606,
        17230018
    ),
    15749606
)
)

我想要这样:

2013-03-25 20:02:45.887 app[18960:c07] (
    14120151,
    14749606,
    17230018,
    15749606
)

感谢您的帮助,我确定我只是缺少可以正确订购 NSMutableArray 的行。

4

1 回答 1

0

好的,我刚刚找到了答案,我没有注意到从查询中收到的“对象”是一个 NSArray !你只需要这样:

PFQuery *query = [PFQuery queryWithClassName:@"Users"];
[query whereKey:@"username" equalTo:userAccount.username];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
    NSLog(@"%@", objects);

    NSArray *array = [objects objectAtIndex:0];//Selects the first "object" from all the "objects"
    array = [array valueForKey:@"pairs"];//Makes a NSArray from the "pairs" values
    pairs = [array mutableCopy];//Converts the array to a NSMutableArray

    NSLog(@"%@, %i", pairs, pairs.count);
} else {
    // Log details of the failure
    NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
于 2013-03-26T17:57:11.340 回答