swift - 如何从 NSArray 中删除重复的对象?

标签 swift parse-platform

我有 NSArray(),它包含名称,但有重复的名称,我该如何删除它们?

在解析查询后将对象添加到 NSArray 及其副本

var names = NSArray()
let query = PFQuery(className: "test")
        query.whereKey("receivers", equalTo: PFUser.currentUser()!.username!)

        query.findObjectsInBackgroundWithBlock {
            (objects, error) -> Void in

            if error == nil {

                self.names = objects!
                let set = NSSet(array: self.names as [AnyObject])

                print(objects!.count)
                // count is 4
                // database looks like this (justin , kevin , kevin , joe)

最佳答案

如果您的名称是字符串,您可以从数组创建 NSSet,它只会有不同的名称。

let names = ["John", "Marry", "Bill", "John"]
println(names)

let set = NSSet(array: names)
println(set.allObjects)

打印:

"[John, Marry, Bill, John]"
"[Bill, John, Marry]"

更新#1
对于有问题的新信息(代码片段),它可能看起来像这样

var set = Set<String>()
for test in objects as [Test] {
    set.insert(test.sender)
}
self.names = Array(set)

关于swift - 如何从 NSArray 中删除重复的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32123820/

相关文章:

ios - 从 Parse 下载后使用图像或文本进行排序

swift - 在缓存目录中复制 Realm 文件

ios - 如何不允许用户在 uitextfield 中输入超过 190 的值?

swift - Swift 中所有 IntegerLiteralConvertible 的通用 init 函数

Swift - 如何下载并显示帖子下的评论?

ios - Swift:当图像文件存在于 Assets 中时,为什么它是 nil NSData?

ios - 如何在Parse iOS中避免数据重复?

ios - 无法获取 Parse.com PFUser 数据?

ios - 在 Parse 中保存多个对象需要超过 1 个 API 请求?

java - 使用 Parse.com 从数据库获取数据以显示在 ListView 中