Parse Server Swift Logic 用于抓取数组中包含的所有项目
Posted
技术标签:
【中文标题】Parse Server Swift Logic 用于抓取数组中包含的所有项目【英文标题】:Parse Server Swift Logic for grabbing all items contained in array 【发布时间】:2021-02-02 19:23:16 【问题描述】:我正在使用 Swift 的解析服务器。我正在尝试获取关键“用户名”包含在commentUserArray 中的所有匹配项。注释 userArray 显示 3 个名称 ["username","username", "username2"]。
查询只获取两个值而不是三个值,因为它只查找这两个用户名“username”和“username1”。但是,我需要所有 3 个实例。请帮忙。
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()
)
【问题讨论】:
【参考方案1】:所以经过反复试验,我找到了解决方案。
删除原来的query.contained in,因为它会覆盖公式的其余部分。
理想情况下,我想运行一个查询。然而,commentuserarray 中并没有很多。因此,for in 循环应该放在 query.find 中 -->
需要为该特定用户抓取对象。因此,设 pfuser = object["username"] as String
反转数组以获得正确的顺序--
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()
)
【讨论】:
以上是关于Parse Server Swift Logic 用于抓取数组中包含的所有项目的主要内容,如果未能解决你的问题,请参考以下文章
使用 Swift Parse Server 和 AWS SES 请求重置电子邮件的密码
在 Parse Server 中向我的数组添加唯一值(swift 3)