gpt4 book ai didi

xcode - Dictionary 没有名为 filter 的成员 - 但它应该,不是吗?

转载 作者:行者123 更新时间:2023-11-30 10:20:33 24 4
gpt4 key购买 nike

我正在尝试获取code from github为了让自动完成工作正常,但我在第 6 行 (data.filter) 上遇到了一个错误,即 Dictionary 没有名为 filter 的成员。但我在文档中读到的所有内容都表明字典应该有一个过滤方法。我已经尝试了解包、 self 等所有可能的组合,但编译器随后将这些更改注册为错误。

显然发生了一些我不明白的事情 - 感谢任何指导。

var data = Dictionary<String, AnyObject>()    
func applyFilterWithSearchQuery(filter : String) -> Dictionary<String, AnyObject>
{
var lower = (filter as NSString).lowercaseString
if (data.count > 0) {
var filteredData = data.filter ({
if let match : AnyObject = $0["DisplayText"]{
return (match as NSString).lowercaseString.hasPrefix((filter as NSString).lowercaseString)
}
else{
return false
}
})
}
return filteredData
}

最佳答案

从未听说过字典过滤器 - 您在哪里读到过相关内容?数组确实有 filter 方法,但字典没有。您可以做的是过滤键或值(可通过相应的字典属性访问)。

您可以使用以下代码在字典上实现自定义过滤器:

var filtered = dict.keys.filter { $0.hasPrefix("t") }.map { (key: $0, value: dict[$0]) }

var newDict = [String : AnyObject]()
for element in filtered {
newDict[element.key] = element.value
}

过滤键,然后将每个键映射到一个(键,值)元组,然后将每个元组添加到一个新字典中。

请注意,为了过滤键,我使用了 hasPrefix("t") - 将其替换为更适合您的情况的内容

关于xcode - Dictionary 没有名为 filter 的成员 - 但它应该,不是吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com