尝试将数据从解析添加到 IOS 中的 NSMutableArray

Trying to add data from parse to an NSMutableArray in IOS

所以,我能够成功地执行对我的解析数据库的查询。此查询将登录用户与键用户中具有登录用户的所有对象相匹配。我查询的对象有键 "email" "firstName" "lastName" "friendUserName" 和 "phoneNumber"

我希望能够将所有 phone 数字存储到名为 phoneNumbers 的可变数组中。我尝试使用的代码是。

int i=0;

            for (PFObject *object in objects) {

                NSLog(@"%@", objects[i]);


                phonenumber = object[@"phoneNumber"];
                NSLog(@"%@", phonenumber);



               [phoneNumbers[i] addObject:phonenumber];

                NSLog(@"%@", phoneNumbers[i]);
                i=i+1;
            }

当我 运行 这段代码的输出为代码 NSLog(@"%@", phoneNumbers[i]); 两次都为空。所有其他输出都符合预期。

以下应该适合您:

NSMutableArray *phoneNumbers = [NSMutableArray new];

for (PFObject *object in objects) {
    NSLog(@"%@", object);

    // Assuming your phone numbers are stored as strings - use a different data type if necessary
    NSString *phoneNumber = object[@"phoneNumber"];
    NSLog(@"%@", phoneNumber);

    [phoneNumbers addObject:phoneNumber];
}

NSLog(@"%@", phoneNumbers);

如果您只是将项目添加到可变数组的末尾,则无需担心项目的索引。

您出错的地方是在尝试将对象添加到数组时。你这样做:

[phoneNumbers[i] addObject:phonenumber];

这实际上是在说 "fetch the object at index i in the phoneNumbers array, and tell it to add the phone number object"。但是,大概您的数组为空或未初始化,这意味着 addObject 将被发送到 nil 对象,因此不会产生任何影响。相反,您只需告诉 phoneNumbers 数组本身添加对象。