我正在使用解析来尝试创建一个Instagram风格的应用程序,用户可以关注其他用户。下面的代码尝试查询我的解析数据库,并检查登录的用户是否跟随另一个用户。它目前进入你可以看到“在这里输入,但没有附加”的地方。两个问题: 1.它正在为所有用户输入此位置,而不仅仅是当前登录用户所遵循的位置 2. append.isfollowing不起作用。最初,isfollowing.count为0,当我再次打印它时,它仍然是0.即使它进入if语句包含它,附加不起作用 代码如下 - 谢谢!
var usernames = [""]
var userids = [""]
var isFollowing = [Bool]()
override func viewDidLoad() {
super.viewDidLoad()
var query = PFUser.query()
query?.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
//check if we have any objects
if let users = objects {
//for each element in the users array
for object in users {
//convert to PFuser
if let user = object as? PFUser {
//check if the current user is following each user. if so update isfollowing array
var query = PFQuery(className: "followers")
query.whereKey("follower", equalTo: PFUser.currentUser()!.objectId!)
query.whereKey("following", equalTo: user.objectId!)
query.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
//if objects returns something
if let objects = objects {
//if we enter here we know that the logged in user is following the curr user. Update the isfollowing array
//ENTERS HERE BUT DOES NOT APPEND
self.isFollowing.append(true)
} else {
self.isFollowing.append(false)
}
})
}
}
}
//reload the table data
self.tableView.reloadData()
})
print(self.isFollowing.count)
答案 0 :(得分:0)
- 它正在为所有用户输入此位置,而不仅仅是当前登录的用户
醇>
内部查询正在测试的条件,if let objects = objects
测试是否定义了数组(非零)。你想要的是测试数组是否为非零和非空,如:
if objects?.count > 0 { // we found at least one
- append.isfollowing无效
醇>
附加到isFollowing
的代码以异步方式运行。 viewDidLoad末尾的print语句立即运行,在查询完成之前运行。这就是为什么它看起来不起作用(它还没有 )。