我在 Heroku 上使用 Parse 源代码和 Mongodb 插件实现了一个简单的 Instagram 克隆应用程序。我在 DB 上发布了一些图像和消息,当我尝试检索图像及其相应的消息时,我只收到消息,而不是图像。以下是代码和错误:
代码:
query.findObjectsInBackgroundWithBlock({ (posts, err) -> Void in
if let posts = posts {
for post in posts {
self.messages.append(post["message"]! as! String)
self.images.append(post["imageFile"]! as! PFFile)
self.usernames.append(self.users[post["userId"] as! String]!)
self.tableView.reloadData()
}
}
})
……
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("postCell", forIndexPath: indexPath) as! instaPostCell
cell.selectionStyle = UITableViewCellSelectionStyle.None
images[indexPath.row].getDataInBackgroundWithBlock { (d, error ) -> Void in
if error == nil {
if let downloadedImage = UIImage(data: d!) {
cell.postedImage.image = downloadedImage
}
}else {
if let error = error {
print("error: \(error.userInfo["error"]!)")
}
}
}
错误:ParseStarterProject-Swift[65068:8486166] [错误]:不支持的 URL(代码:100,版本:1.12.0)错误:不支持的 URL
请注意,应用程序检索 PFFiles,但是当它调用 getDataInBackgroundWithBlock 时,会引发“不支持的 URL”错误。此外,客户端代码似乎还可以,因为我测试了连接到原始 Parse 服务器的客户端应用程序(使用了我的讲师 appId 和 masterkey)并且效果很好。