ios - 使用 NsPredicate 解析查询后的 If 语句

标签 ios swift if-statement parse-platform nspredicate

我正在使用 NSPredicate 进行解析查询,以在 senderIDreceiverID 时获取所有 objectIds我的 Facebook id 是这样的吗:

let setPredicate = NSPredicate(format: "senderID = %@ OR receiverID = %@", fbID, fbID)
    var query = PFQuery(className: "Groups", predicate: setPredicate)
    query.addDescendingOrder("updatedAt")

然后,我将结果添加到 NSMutableDictionary 中,然后添加到 NSMutableArray 中,如下所示:

query.findObjectsInBackgroundWithBlock
        {(objects:[AnyObject]?, error:NSError?) -> Void in
            if error == nil
            {
                if let objects = objects as? [PFObject]
                {
                    for object in objects
                    {
                        if setPredicate = NSPredicate(format: "senderID", fbID)
                        self.groupDetailsDict.setValue(object.objectForKey("objectId") as! String, forKey: "groupID")
                        self.groupDetailsDict.setValue(object.objectForKey("senderName"), forKey: "senderName")
                        self.groupDetailsDict.setValue(object.objectForKey("receiverName"), forKey: "receiverName")
                        self.groupDetails.addObject(self.groupDetailsDict)
                    }
                }
                else
                {
                    println("Error: \(error) \(error!.userInfo)")
                }
            }
            else
            {
                println(error?.description)
            }
    }

如果我的 fbIDsenderId 匹配,我只想添加 receiverName;如果我的 fbID 匹配,我只想添加 senderName fbIDreceiverName 匹配。 我可以在里面使用 if else 语句吗?如果是,那么如何?

最佳答案

不太明白你的逻辑,在第一种情况下比较 ID 与 ID,在第二种情况下比较名称与 ID,但如果我们假设 test 是我们的目标数组(抱歉,不太明白)理解 groupDetailsDict 的意思,也许你可以解释)代码看起来像这样(带有所有正确的快速展开):

if let senderId = object["senderId"] as? String, receiverName = object["receiverName"] as? String where senderId == fbID {
    test.append(receiverName)
} else if let receiverName = object["receiverName"] as? String, senderName = object["senderName"] as? String where receiverName == fbID {
    test.append(senderName)
}

关于ios - 使用 NsPredicate 解析查询后的 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31949980/

相关文章:

javascript - 为什么 JavaScript 代码在条件为假时执行? (Eloquent JavaScript - 深度比较)

ios - Itunes Connect 将桌面显示为 ipad 应用程序的平台

ios - MTLCreateSystemDefaultDevice 在 iOS 13 模拟器上返回 nil

swift - 调整 UITabBar 的大小(图片)

ios - 如何将 TableView 的刷新控制实现为常用功能

python - 仅从数组中的大元素中减去 10000

swift - 我怎样才能用当前时间计算一些位置的打开和关闭时间

从 Storyboard 或 Code 进行 IOS 设计

ios - 越狱设备上的 NSFileProtection

ios - iOS 中的原生动画