gpt4 book ai didi

ios - 仅在 Parse 上显示好友帖子

转载 作者:行者123 更新时间:2023-11-30 13:27:26 24 4
gpt4 key购买 nike

新程序员试图学习 Swift,我正在尝试将我的应用程序设置为仅显示当前用户在解析照片共享数据库上的帖子。理论上,第一种方法应该将当前用户添加到“followingWho”数组中。

override func viewDidLoad() {
super.viewDidLoad()

let userQuery = PFUser.query()
userQuery?.whereKey("username", equalTo: PFUser.currentUser()!.username!)
userQuery?.findObjectsInBackgroundWithBlock ({
(objects: [PFObject]?, error: NSError?) -> Void in


if error == nil {
//no error
if let objects = objects {
for object in objects {
let followingWho = object["followingWho"] as! NSArray!
self.loadData(followingWho)
}
}

} else {
//error
NSLog("Error")
}
})


self.tableView.reloadData()

}

那么我的第二种方法应该显示帖子并过滤掉除当前用户之外的所有用户

func loadData(followingWho: NSArray) {

let query = PFQuery(className: "Posts")
query.whereKey("addedBy", containedIn: followingWho as! [PFObject])
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock {
(posts: [PFObject]?, error: NSError?) -> Void in


if (error == nil) {
//No error

//let posts = posts as! [PFObject]

if let posts = posts {
for post in posts {
self.images.append(post["Image"] as! PFFile)
self.imageCaptions.append(post["Caption"] as! String)
self.imageDates.append(post["date"] as! String)
self.imageUsers.append(post["addedby"] as! String)
}

self.tableView.reloadData()
}

} else {
//error
NSLog("Error")
}

}

}

但似乎没有任何效果。代码编译并运行,但似乎只拉出一个空白屏幕,不加载任何帖子。

最佳答案

可能是问题所在,尽管如果它不是问题,那么它肯定是问题:您正在尝试更新来自后台线程的 UI。 findObjectsInBackgroundWithBlock 在后台调用其完成 block ,从后台更新 UI 是一个很大的禁忌。相反,在主线程上调用 UI 更新:

dispatch_async(dispatch_get_main_queue(), {
//Do your UI updates here
})

关于ios - 仅在 Parse 上显示好友帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36995129/

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