我对斯威夫特不熟悉。我写了一个在数组中找到匹配项的方法。但我用的是一个简单的for循环。我在想我们有没有办法用地图来做这种手术。
var matchedCompanyIds : Set<String> = []
for company in editableStaticUserData.companies {
if let companyIdentifier : String = company.companiesIdentifier {
if let companyIds = self.editableFilter?.companyIds {
if companyIds.contains(companyIdentifier) {
matchedCompanyIds.insert(companyIdentifier)
}
}
}
}
最佳答案
抱歉,我没有读你的代码。我想要这个
let identifiers = companies.flatMap({$0.companiesIdentifier})
let result = companyIds?.intersect(identifiers)
结果是可选的,但几乎是一样的
关于ios - 如何快速使用过滤器功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32910195/