swift - 是否可以在 Parse 中创建特定对象的数组?

标签 swift xcode parse-platform

我制作了一个二维码扫描器应用程序,我手动将一些二维码放入解析中以供其识别,任何扫描的二维码如果我未放入解析中则不会被识别。

唯一区分它们的是他们的(信息),即“餐厅”、“美甲沙龙”等。

我正在寻找一种能够记录所选 QRCode 被扫描次数的整数的方法,然后将其放置在应用程序中的标签上。

我可以(.count)用户保存和扫描的所有 qrCode,但似乎无法弄清楚如何将所有“美甲沙龙”放入自己的解析数组中或运行 For 循环匹配我需要的。

 // The code below will retrieve everything in the "info" column and print it to console
 // This prints "Nails Salon" x 5, "Restaurant" x3 and "Coffee Shop" x 7 in the order that they were scanned (Unorganised)
 // What block of code could I make to display what PFuser.current currently has in their parse?
 // E.g. PFUser has scanned "Nail Salon" 5 Times, "Restaurant" 3 time etc etc

    let infoCheck = PFQuery(className: "UserQRCodes")
    infoCheck.whereKey("info", contains: "")
    infoCheck.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
        if let error = error {

            print(error.localizedDescription)
        } else if let objects = objects {

            print(objects)
        }

    }

// To retrieve everything the USER has scanned and display it as String on the APP


let query = PFQuery(className: "UserQRCodes")
    query.whereKey("userName", equalTo: PFUser.current()!)
    query.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
        if let error = error {
            //log details of the failure
            print(error.localizedDescription)
        } else if let objects = objects {
            let stampees: Int = objects.count

            let totalStampees = String(stampees)
            self.stampeesCollectedLabel.text = totalStampees
            print(objects.count)
        }

    }


    // Do any additional setup after loading the view.
}

最佳答案

您想要过滤扫描数组中的元素。对于每种代码类型,调用类似

// '$0' is your PFObject. Replace 'name' with whatever `PFObject` property 
// represents the object's type
let nailSalons = objects.filter { $0.name == "Nail Salon" }

然后您可以使用此过滤后的数组来获取计数。

请注意,filter { $0... } 语法是

的简写
objects.filter { (object) throws -> Bool) in
    return object.name == "Nail Salon"
}

如果您的条件比简单的一行表达式更复杂,则需要使用完整版本。请注意,在简短版本中,return 是隐含的。

关于swift - 是否可以在 Parse 中创建特定对象的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56276964/

相关文章:

ios - Swift 4 - 随机顺序的多个表格 View 单元格类型

ios - 我从我的 mac 中删除了所有 IOS 模拟器,现在我无法添加任何一个

ios - CC UITouches 忽略第二次触摸

ios - 在 Storyboard 中的 View 之间切换

ios - 如何在 Parse 中执行 "not in"查询

ios - 解析iOS SDK : Setting up Cloud Code in Terminal

ios - 删除 User 对象时删除其他类中的对象 Parse.com

swift - 尝试在 Swift Playground 中打印函数时出现 EXC_BAD_INSTRUCTION 错误

ios - 引用被触摸的图像

swift - Firebase Firestore "Could not build module ' nanopb'