【问题标题】:how to remove Duplicate values from Dict in swift 2.0如何在 swift 2.0 中从 Dict 中删除重复值
【发布时间】:2025-11-23 00:45:01
【问题描述】:

嗨,我只想删除重复的对象,应该在dictionary 中删除我在tableView 中填充它

这是我在“CellForRowAtIndexPath”中的示例代码

controller.titleName = dict["itemName"] as? String

我的输出:

{
    itemName = test;
},
{
    itemName = funny;
},
    {
    itemName = vv;
},
    {
    itemName = hhh;
},
    {
    itemName = west;
}

【问题讨论】:

  • Anand 请检查我的答案。它是正确的。检查它。
  • Anand 如果我的回答对您有用,请勾选并投票给我的回答。
  • @Anand 如果您已经说过“Thanx man its working”,那么我的回答中缺少什么?即使你已经接受了我的回答?

标签: ios swift nsmutablearray nsmutabledictionary


【解决方案1】:

首先,我认为你使用数组来制作 dict 所以在加载 tableview/collectionview 之前从你的数组中删除所有复制的对象。

您必须从NSArray 创建NSSet 的一个选项,因此在NSSet 中所有复制的object 都会自动删除。然后从NSSet 你必须创建NSArray。 从数组转换集合如下

var set = NSSet(array: myarray)

为集合转换数组

var newarry = set.allObjects as NSArray

【讨论】:

  • 嘿,杰伊,我的代码都是我工作的人,我也尝试标记他的答案
  • 你只能接受一个答案,如果你发现两个都是正确的,那么你必须选择你必须接受哪个答案,在这种情况下,哪个答案首先提供它应该被接受
【解决方案2】:

试试这个

let uniqueArr = Array(Set(dict.values))

【讨论】:

  • 是的,我错过了一个,但@Ali Jawed 修复了它。试试看。
【解决方案3】:

对于你的问题,我已经单独尝试过,我得到了答案

var arr = [AnyObject]()
var arrAppend = [String]()

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let array = ["one", "one", "two", "two", "three", "three"]
    let uniqueValue = Array(Set(array))
    print("The unique value is - \(uniqueValue)")


    let dictTest = ["itemName":"test"]
    let dictFunny = ["itemName":"funny"]
    let dictVVV = ["itemName":"vvv"]
    let dictHHH = ["itemName":"hhh"]
    let dictWest = ["itemName":"west"]
    let dictTT = ["itemName":"tt"]
    let dictWest1 = ["itemName":"west"]

    arr.append(dictWest1)
    arr.append(dictTest)
    arr.append(dictVVV)
    arr.append(dictTT)
    arr.append(dictWest)
    arr.append(dictFunny)
    arr.append(dictHHH)

    print("Array  Response: \(arr)")

    for keyValue in arr as Array
    {
       let getDictValueFromArray = keyValue["itemName"] as! String
        arrAppend.append(getDictValueFromArray)
    }
    let unique = Array(Set(arrAppend))
    print("the result is-\(unique)")
}

独特的输出是

the result is-["funny", "test", "west", "vvv", "hhh", "tt"]

【讨论】:

  • 我在这里犯了什么错误?请告诉我拒绝投票的原因。
  • Eric 如果我得到了 url,我可以直接从服务器获取数据并直接显示响应。但是这里无法获取 URL 和其他东西。这就是我创建喜欢的原因以上。
最近更新 更多