模糊地使用'过滤器'使用嵌套过滤器

时间:2018-01-05 22:24:43

标签: ios swift filter realm swift4

我正在为其他开发人员的代码做一些工作。我已成功将其迁移到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 })

任何人都可以告诉我如何"改写"这更易于管理,所以我可以消除模糊的过滤问题?

1 个答案:

答案 0 :(得分:0)

我在Swift 4.0.3中尝试过你的代码并没有给我任何错误。尝试使用类型注释也许它会起作用

good_bot