2015-07-21 70 views
0

首先,简单来说,如何将空白UIImage视图更改为我已经存储在Parse中的图像?这是到目前为止我的代码解析&迅速 - 随机图像

var query = PFQuery(className:"Content") 
    query.getObjectInBackgroundWithId("mlwVJLH7pa") { 
     (post: PFObject?, error: NSError?) -> Void in 
     if error == nil && post != nil { 

      //content.image = UIImage 

     } else { 
      println(error) 
     } 
    } 

在刚刚更换空白的UIImageView的顶部,请问有什么可以做,它被替换为随机的形象呢?我认为我不能再使用objectId了,因为它特定于它所代表的那一行。

+0

什么是稀疏? –

+0

不知道为什么我一直在说.... – Chrisicut

回答

0

首先,您需要使用query.findObjectsInBackgroundWithBlock而不是使用query.getObjectInBackgroundWithId

这会让你看到所有的PFObjects。从它返回的数组中获取一个随机PFObject,现在您有一个随机PFObject,您可以将其设置为content.image

比方说,你PFObject具有“图像”属性作为PFFile

简单地做类似的东西以下转换PFFile成一个UIImage(你应该使用存储与解析图像的东西。):

if let anImage = yourRandomPFObject["image"] as? PFFile { 
    anImage.getDataInBackgroundWithBlock { (imageData: NSData?, error: NSError?) -> Void in 

    let image = UIImage(data:imageData) 
    content.image = image 
    } 
} 
1

我会先用getObjectsInBackgroundWithBlock从parse中检索objectIds,然后从一个名为objectId的变量中选择一个随机的objectId。这样你可以节省用户查询每个对象的分析并使用大量的数据。

其次,我会

getObjectInBackgroundWithId(objectId) 
    if error == nil { 
     if let image: PFFile = objectRow["image"] as? PFFile{ 
     image.getDataInBackgroundWithBlock { 
     (imageData: NSObject?, error: NSError?) Void in -> 
      if let imageData = imageData { 
      let imageView = UIImageView(image: UIImage(data: imageData)) 
      } 
     } 
    } 

至少,这对我的作品。