将对象添加到数组,返回null的数组

时间:2016-01-30 03:06:16

标签: objective-c arrays nsmutablearray

我有2个数组从数据库接收信息。一个名为json,包含具有用户ID的帖子,另一个名为userJson,包含具有其id的所有用户。如果来自json的用户id等于来自userJson的用户id,我想用该用户的用户名填充第3个数组。我使用以下代码:

NSDictionary *info = [json objectAtIndex:indexPath.row];
NSDictionary *userInfo = [userArray objectAtIndex:0];
for (int i=0; i<[json count]; i++) {
    if ([[userInfo objectForKey:@"user_id"] isEqualToString:[info objectForKey:@"user_id"]]) {
        [usernameArray addObject:[userInfo objectForKey:@"username"]];
    }
}

NSLog(@"%@", usernameArray);

usernameArray是应包含用户名的第3个数组。当我打印它时,它会在不同时间打印出来。

1 个答案:

答案 0 :(得分:0)

您需要先添加此内容:

usernameArray = [[NSMutableArray alloc]init];

然后将循环更改为以下内容:

NSDictionary *info = [json objectAtIndex:indexPath.row];
NSDictionary *userInfo;
for (int i=0; i<[userArray count]; i++) {
    userInfo = [userArray objectAtIndex:i];
    if ([[userInfo objectForKey:@"user_id"] isEqualToString:[info objectForKey:@"user_id"]]) {
        [usernameArray addObject:[userInfo objectForKey:@"username"]];
    }
}