0
在我parse.com “文章” 它看起来像这样: Parse.com PFQuery顺序按时间
我的查询是这样的:
func QueryImagesFromParse(){
var query = PFQuery(className: "Posts")
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
if error == nil
{
if let newObjects = objects as? [PFObject] {
for oneobject in newObjects {
var text = oneobject["imageText"] as! String
var username = oneobject["username"] as! String
var time = oneobject.createdAt
var userImageFile = oneobject["imageFile"] as! PFFile
userImageFile.getDataInBackgroundWithBlock({ (imageData:NSData?, error:NSError?) -> Void in
if error == nil {
let newImage = UIImage(data: imageData!)
var OneBigObject = Details(username: username, text: text, CreatedAt: time!, image: newImage!)
self.arrayOfDetails.append(OneBigObject)
self.collectionView.reloadData()
}
})
}
}
}
}
}
NSDate的扩展:
extension NSDate {
var timeAgo: String {
let minute = 60
let hour = 60 * minute
let day = 24 * hour
let secondsAgo = Int(NSDate().timeIntervalSinceDate(self))
if secondsAgo < 0 { return "later" }
if secondsAgo == 0 { return "now" }
if secondsAgo == 1 { return "1 second ago" }
if secondsAgo < minute { return "\(secondsAgo) seconds ago" }
if secondsAgo < (2 * minute) { return "1 minute ago" }
if secondsAgo < hour { return "\(secondsAgo/minute) minutes ago" }
if secondsAgo < 2 * hour { return "1 hour ago" }
if secondsAgo < day { return "\(secondsAgo/hour) hours ago" }
let formatter = NSDateFormatter()
formatter.dateFormat = "M/d/yy"
return formatter.stringFromDate(self)
}
}
我已经尝试使用query.orderByDescending
来排列最上面的最新上传,但它不起作用。上传按随机顺序进行,而不是最新的第一次。我究竟做错了什么?我在我的viewDidLoad中运行func QueryImagesFromParse
。
我想补充说,“getDataInBackgroundWithBlock”方法之后,并使其正常工作。但是,在运行时输出中会收到很多错误消息:请在此处查看:http://s27.postimg.org/evypc1hs3/Screen_Shot_2015_09_09_at_12_25_10.png –
通常不建议使用同步方法,因为它们会阻止用户界面。我假设你正在下载图像数据以显示在UIImageView中。在这种情况下,我会跳过这里获取imageData,而是使用[Kingfisher](https://github.com/onevcat/Kingfisher)(Swift)或[SDWebImage](https://github.com/rs/SDWebImage)(Objective-C),用于在需要显示图像时进行异步图像加载。 –
@ Eri-Sklii忘记在上面的评论标记你。 –