有人可以解释一下,当我将内容上传到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 {
...
}
}
}];
这两种解决方案在实践中有什么区别?
答案 0 :(得分:3)
案例是使用解析作为远程数据存储..有点像将解析视为您的iCloud驱动器或drobpox。你保存了一个文件
案例是使用解析作为远程数据库..您不保存文件但在数据库中创建一个新的“行”(将其视为iCloud KV商店)
=>所以PFFile作为远程文件上传(不是数据库条目因此它没有类)
=> PFObject是一个数据库条目(然后可以链接到文件甚至包含数据本身)