上传PFFile和PFObject之间的区别

时间:2014-12-16 14:20:39

标签: ios objective-c parse-platform

有人可以解释一下,当我将内容上传到Parse时会发生什么:

PFFile *imgFile = [PFFile fileWithName:@"Img.jpg" data:imgData];

    [imgFile saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
        if (!error) {

            } else {

            } 
    }];

如果我使用此解决方案将在哪里上传文件?在哪个级别?我怎样才能找回它?我有点困惑,因为我在我的项目中使用了另一种解决方案,但是这个版本会更好,因为PFFile可以用progressBlock保存。

这是我正在使用的另一种方式,在这种情况下,我上传它的类很明显。

 PFFile *imgFileObject = [PFFile fileWithData:imgData];
 PFObject *photo = [PFObject objectWithClassName:@"ImgClass"];
 photo[@"image"] = imgFileObject;
 [photo saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

                if (!succeeded) {  
                 ...
                } else {
                 ...
                }
            } 
            }];

这两种解决方案在实践中有什么区别?

1 个答案:

答案 0 :(得分:3)

  1. 案例是使用解析作为远程数据存储..有点像将解析视为您的iCloud驱动器或drobpox。你保存了一个文件

  2. 案例是使用解析作为远程数据库..您不保存文件但在数据库中创建一个新的“行”(将其视为iCloud KV商店)

  3. =>所以PFFile作为远程文件上传(不是数据库条目因此它没有类)

    => PFObject是一个数据库条目(然后可以链接到文件甚至包含数据本身)