如何从parse.com检索图像

时间:2013-08-28 11:54:00

标签: objective-c parse-platform

您好我是使用parse.com的新手 实际上我试图在parse.com中保存图像并重新启动它..但我成功将图像保存为PFFile enter image description here

在parse.com仪表板中显示如下

enter image description here

现在我如何在UIImageView中检索图像和显示

我试过这样但不起作用..

 PFQuery *query = [PFQuery queryWithClassName:@"UserPhoto"];
    [query whereKey:@"userName" containsString:@"ravi"];
    [query getObjectInBackgroundWithId:@"ID" block:^(PFObject *object, NSError *error) {
        if(!error){
            PFFile *im = [object objectForKey:@"imageFile"];
            _getImg.image = im;
        }}];

在这里,我想要检索userName ravi

的特定图像

2 个答案:

答案 0 :(得分:5)

要检索图像,您需要:

  1. 查询有问题的PFObject
  2. 使用-[PFFile getDataInBackgroundWithBlock:]检索PFFile的数据
  3. 使用生成的UIImage

    创建NSData
    PFQuery *query = [PFQuery queryWithClassName:@"UserPhoto"];
    
    [query whereKey:@"userName" containsString:@"ravi"];
    
    [query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
        if (!object) {
            return NSLog(@"%@", error);
        }
    
        PFFile *imageFile = object[@"imageFile"];
    
        [imageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
            if (!data) {
                return NSLog(@"%@", error);
            }
    
            // Do something with the image
            self.imageView.image = [UIImage imageWithData:data];
        }];
    }];
    
  4. 顺便说一句,除非纯粹用于实验,或者您正在执行主线程的某些操作,否则我将避免使用PFObject同步保存-[PFObject save]并使用异步版本, -[PFObject saveInBackgroundWithBlock:]

答案 1 :(得分:1)

在您的情况下,不能使用getObjectInBackgroundWithId:方法。 相反,您可以使用getFirstObjectInBackgroundWithBlock:方法来检索第一个实例。