解析服务器Swift逻辑以获取数组中包含的所有项
我正在使用Swift解析服务器。我正在尝试获取commentUserArray中包含键“username”的所有匹配项。Comment userArray显示3个名称[“用户名”、“用户名”、“用户名2”] 查询只获取两个值,而不是三个值,因为它只查找这两个用户名“username”和“username1”。但是,我需要这3个实例。请帮忙解析服务器Swift逻辑以获取数组中包含的所有项,swift,xcode,amazon-web-services,parse-platform,Swift,Xcode,Amazon Web Services,Parse Platform,我正在使用Swift解析服务器。我正在尝试获取commentUserArray中包含键“username”的所有匹配项。Comment userArray显示3个名称[“用户名”、“用户名”、“用户名2”] 查询只获取两个值,而不是三个值,因为它只查找这两个用户名“username”和“username1”。但是,我需要这3个实例。请帮忙 var commentImgUrlArray: [NSString] = [] func getPics(_ completionHandler
var commentImgUrlArray: [NSString] = []
func getPics(_ completionHandler: @escaping () -> Void) {
let query = PFQuery(className: "_User")
query.whereKey("username", containedIn: commentUserArray)
query.findObjectsInBackground(block: { (objects: [PFObject]?, error: Error?) in
if let objects = objects {
for object in objects {
if error == nil {
let imageFile = object["profilePic"] as? PFFileObject
let imageFileString = imageFile?.url as! String
if let url = URL(string: imageFileString) {
let data = try? Data(contentsOf: url)
if let imageData = data {
self.commentImgUrlArray.append(imageFileString as NSString)
print(self.commentImgUrlArray)
}
}
}
}
completionHandler()
}
})
}
因此,经过一些尝试和错误,我找到了解决方案
func getPics(_ completionHandler: @escaping () -> Void) {
let query = PFQuery(className: "_User")
query.findObjectsInBackground(block: { (objects: [PFObject]?, error:
Error?) in
if let objects = objects {
for object in objects {
if error == nil {
for user in self.commentUserArray {
let pfuser = object["username"] as! String
if pfuser == user {
let imageFile = object["profilePic"] as? PFFileObject
let imageFileString = imageFile?.url as! String
if let url = URL(string: imageFileString) {
let data = try? Data(contentsOf: url)
if let imageData = data {
self.commentImgUrlArray.append(imageFileString as
NSString)
print(self.commentImgUrlArray)
}
}
}
}
}
}
self.commentImgUrlArray.reverse()
completionHandler()
}
})