我正在为其他开发人员的代码做一些工作。我已成功将其迁移到Swift 4,但是最新的Swift升级(Swift 4.2?)我开始收到Ambigous use of 'filter'
错误。我能够通过简单地破坏复杂的语句来修复它们中的大多数,但遇到了嵌套过滤器,我不知道该怎么做。这是完整的功能:
func validateSubmission(_ submissionId: Int) -> ([EntryModel]) {
let realm = try! Realm()
let submissionModel = realm.objects(SubmissionModel.self).filter({ $0.id == submissionId }).first!
let entryModels = submissionModel.entryModels
// Check for all entry details field which are mandatory and are empty and not hidden
let emptyEntryModels = entryModels.filter({ $0.entryDetailArray.filter({ $0.entryDetailValue.isEmpty && $0.isMandatory && !($0.isHidden) }).count > 0 })
return Array(emptyEntryModels)
}
我收到了错误:
let emptyEntryModels = entryModels.filter({ $0.entryDetailArray.filter({ $0.entryDetailValue.isEmpty && $0.isMandatory && !($0.isHidden) }).count > 0 })
任何人都可以告诉我如何"改写"这更易于管理,所以我可以消除模糊的过滤问题?
答案 0 :(得分:0)
我在Swift 4.0.3中尝试过你的代码并没有给我任何错误。尝试使用类型注释也许它会起作用
good_bot