代码之家  ›  专栏  ›  技术社区  ›  sam_smith

如何使用Parse保存数组?

  •  3
  • sam_smith  · 技术社区  · 10 年前

    我正在努力使用Parse来保存一组数据,或者至少我发现我无法验证我的数据是否被保存。

    我有一个PFObject(旅程),我想用我的位置(格式为@“{lat,long}”的字符串)更新它。

    最后,虽然我想每10-30秒更新并保存一次位置,这意味着我不想每次都创建一个新对象,而是想在对象中添加一个数组,然后在每次有新位置时更新数组。

    目前我的代码如下:

    - (IBAction)startJourneyButtonPressed:(id)sender {
    
        PFObject * journey = [PFObject objectWithClassName:@"Journey"];
        journey[@"company"] = _companyNameTextField.text;
        journey[@"destination"] = _destinationTextField.text;
    
        [journey saveInBackground];
    
        NSData * faceImageData = UIImagePNGRepresentation([_faceButton imageForState:UIControlStateNormal]);
        PFFile * faceImageFile = [PFFile fileWithName:@"faceImage.png" data:faceImageData];
    
        [faceImageFile saveInBackground];
    
        NSData * carImageData = UIImagePNGRepresentation([_carButton2 imageForState:UIControlStateNormal]);
        PFFile * carImageFile = [PFFile fileWithName:@"carImage.png" data:carImageData];
    
        [carImageFile saveInBackground];
    
        journey[@"faceImage"] = faceImageFile;
        journey[@"carImage"] = carImageFile;
    
        [journey saveInBackground];
    
        NSMutableArray * locationArray = [NSMutableArray new];
        [locationArray addObject:[self getCurrentLocationString]];
    
        journey[@"location"] = locationArray;
    
        [journey saveInBackground];
    }
    

    字符串保存得很好,图像也很好,但数据库似乎没有随数组一起上传。

    这是我的数据库截图:

    Parse DataBase

    我希望看到一个“位置”标题,但显然它没有出现。

    在其他论坛上读到,它说我必须有一个JSON格式的对象才能工作,但由于我只存储字符串,没有收到JSON错误,我认为这不是问题所在。

    如有任何帮助,将不胜感激

    1 回复  |  直到 10 年前
        1
  •  2
  •   Neil Galiaskarov    10 年前

    可能是在保存数组,您应该在数据库中手动添加名为的列 “位置” (不要忘记将其设置为 array 键入)以查看值。