3

我将 Parse 用于 iOS 应用程序,它需要我在一个 PFObject 中加载多个图像,因此我在该对象中有多个 PFFile。我知道您必须单独加载每个对象才能使用它,但是有没有办法从一个对象一次加载多个 PFFiles?任何输入表示赞赏!

4

2 回答 2

2

对于像我这样的其他新人,我相信“ahar083”接受的答案可能有错字。我将“data1”更改为“file1”,将“data2”更改为“file2”(更新代码 = 粘贴在下方)。我没有足够的分数来评论答案=将我的评论发布为新答案。

PFQuery *query = [PFQuery queryWithClassName:@"ManyFileClass"];
[query getObjectInBackgroundWithId:@"OBJECT_ID" 
                             block:^(PFObject *manyFileClass, NSError *error) {
    PFFile* file1 = [o objectForKey:@"file1"];
    PFFile* file2 = [o objectForKey:@"file2"];

    [file1 getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
        if (!error) {
            NSLog(@"Got data from file1@");
        }
    }];

    [file2 getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
        if (!error) {
            NSLog(@"Got data from file2@");
        }
    }];

}];
于 2014-09-08T02:13:08.693 回答
0

当您检索 PFObject 时,实际上并不会拉下该对象内指向的任何 PFFile,您总是需要手动拉下文件,无论是 1 个文件还是 5 个文件。

PFQuery *query = [PFQuery queryWithClassName:@"ManyFileClass"];
[query getObjectInBackgroundWithId:@"OBJECT_ID" 
                             block:^(PFObject *manyFileClass, NSError *error) {
    PFFile* file1 = [o objectForKey:@"file1"];
    PFFile* file2 = [o objectForKey:@"file2"];

    [data1 getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
        if (!error) {
            NSLog(@"Got data from file1@");
        }
    }];

    [data2 getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
        if (!error) {
            NSLog(@"Got data from file2@");
        }
    }];

}];
于 2013-09-22T04:49:27.507 回答