首先,简单来说,如何将空白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 :(得分:1)
我首先使用getObjectsInBackgroundWithBlock从parse中检索objectId,然后在名为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))
}
}
}
至少这对我有用。
答案 1 :(得分:0)
首先,您要使用query.findObjectsInBackgroundWithBlock
而不是query.getObjectInBackgroundWithId
。
这将为您提供所有PFObject。从它返回的数组中获取一个随机的PFObject,现在你有一个随机的PFObject可以将content.image
设置为。
让我们说你的PFObject有一个'图像'属性为PFFile(你应该使用什么来存储Parse的图像。)
通过执行类似以下操作,将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
}
}