设置metadata代码:

AVQuery *query = [AVQuery queryWithClassName:@"Feed"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    for (AVObject *feed in objects) {
        AVFile *imageFile = feed[@"image"];
        [imageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
            UIImage *image = [UIImage imageWithData:data];
            imageFile.metaData[@"width"] = [NSNumber numberWithFloat:image.size.width];
            imageFile.metaData[@"height"] = [NSNumber numberWithFloat:image.size.height];
            [imageFile saveInBackgroundWithBlock:nil];
        }];
    }];
}

这时可以在后台看到metadata已经更改。

获取metadata代码:

AVQuery *query = [AVQuery queryWithClassName:@"Feed"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    for (AVObject *feed in objects) {
        AVFile *imageFile = feed[@"image"];
        NSLog("%@", imageFile.metadata);
    }
}];

输出:

<AVFile: 0x7f8a13cae5c0> - {
    owner = unknown;
    size = 87831;
}
<AVFile: 0x7f8a13cae700> - {
    owner = unknown;
    size = 86361;
}

并没有width、height这两个自定义的key。

求教。

再提一个不太方便的地方:无法在后台编辑metadata。