gpt4 book ai didi

ios - 所选图像未按顺序显示

转载 作者:行者123 更新时间:2023-11-28 13:16:33 25 4
gpt4 key购买 nike

我正在构建一个投票/Instagram 类型的应用程序,用户可以在其中选择一张非用户制作的照片,并将其推送到时间轴中。

我已经构建了选择屏幕和按钮,以及时间轴。出于某种原因,我只能猜测它与保存 PFObject(选择的照片)的时间顺序有关,时间轴显示的是在当前选择的照片之前选择的照片。

以下 block 是“SelectScreenVC”上的“选择”按钮:

@IBAction func selectNext(sender: UIButton) {
let imageData = UIImagePNGRepresentation(lgImgURL.image)
let imageFile = PFFile(name: "\(cName.text!)", data: imageData)

var user = PFUser.currentUser()
user["nextChosen"] = "\(cName.text!)"
user["imageFile"] = imageFile

var userNextPhoto = PFObject(className: "UserNextPhoto")

userNextPhoto["username"] = PFUser.currentUser().username
userNextPhoto["cName"] = "\(cName.text!)" as String
userNextPhoto["imageFile"] = imageFile

userNextPhoto.saveInBackgroundWithBlock { (success: Bool!, error: NSError!) -> Void in
if error == nil {
println("User \(PFUser.currentUser().username) chose: \(self.cName.text!)")
} else {
println(error)
}
}
self.navigationController?.popToViewController(timeLineVC, animated: true)
}

这是 TimeLineVC。我有创建时间轴数组的函数,我跳过了一些 TableView 方法,除了 cellForRowAtIndexPath。

class TimeLineViewController: UITableViewController {

var timelineData:NSMutableArray = NSMutableArray()

override func viewDidLoad() {
super.viewDidLoad()
loadData()
}

func loadData() {
timelineData.removeAllObjects()

var findTimelineData:PFQuery = PFQuery(className: "UserNextPhoto")


findTimelineData.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
for object in objects {
self.timelineData.addObject(object)
}
} else {
NSLog("Error: %@ %@", error, error.userInfo!)
}

let array: NSArray = self.timelineData.reverseObjectEnumerator().allObjects
self.timelineData = NSMutableArray(array: array)

self.tableView.reloadData()
}

}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("timelineCell", forIndexPath: indexPath) as TimelineTableViewCell
let userNextPhoto:PFObject = self.timelineData.objectAtIndex(indexPath.row) as PFObject

let nextPhoto:PFObject = self.timelineData.objectAtIndex(indexPath.row) as PFObject
cell.usernameLabel.text = PFUser.currentUser().username
cell.cName.text = (userNextPhoto["cName"] as String)
return cell
}

我感谢任何帮助或见解!

最佳答案

事情就是这样:当您弹出 View Controller 时,新照片还没有完成上传。您可以等待照片完成上传(这不是一个很好的用户体验),或者您可以将对新保存对象的引用返回给弹出 View Controller ,然后弹出 View Controller 可以立即显示新照片而无需等待以完成上传。

关于ios - 所选图像未按顺序显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com