ios - 字符串扩展给出额外参数错误

标签 ios swift

我有一个来自此 question 的字符串扩展这看起来很简单,只是我收到了额外的参数错误。 变量

var modelDict: [Int: [String: String]] = [:]

扩展名:

import Foundation


extension String {
    func contains(_ string: String, options: String.CompareOptions) -> Bool {
        return range(of: string, options: options) != nil
    }
}

用法:

let filteredDict = self.sharedDataVal.modelDict.contains(manufacturerCodeVar, options: .caseInsensitive)

print("Filtered Array \(filteredDict)")

知道为什么 .caseInsensitive 被标记为额外参数吗?

根据 Rob 的建议进行了编辑,但我认为我还没有得到它。

变量定义:

class sharedData {

    static let sharedInstance = sharedData()
    struct model{
        var id: String
        var modelName: String
        var modelNumber: String
        var manuShort: String
        var phiTypeCode: String
        var phiTypeDescription: String
    }

    var modelDictTest:          [Int: [model]] = [:]
}

加载词典:

    let modelID              = recordInfo["id"] as? String
    let modelName            = recordInfo["modelname"] as? String
    let modelNumber          = recordInfo["modelnumber"]as? String
    let modelManuShort       = recordInfo["manu_short"]as? String
    let modelPhiTypeCode     = recordInfo["phitypecode"]as? String
    let modelPhiDescription  = recordInfo["phitypedescription"]as? String

    let localModelDict = sharedData.model(id: modelID!, modelName: modelName!, modelNumber: modelNumber!, manuShort: modelManuShort!, phiTypeCode: modelPhiTypeCode!, phiTypeDescription: modelPhiDescription!)

用法:

let filteredDict = self.sharedDataVal.modelDictTest.contains(manufacturerCodeVar, options: .caseInsensitive)

仍然遇到相同的错误,但我确信我没有掌握正确加载 Struct int modelDictTest

最佳答案

modelDict 的类型为 [Int: [String: String]]。您已经编写了 String 的扩展。这没有关系。

相反,您将从 Sequence 获取标准 contains(_:),它没有 options 参数。

作为一般规则,如果您有一个类似 [Int: [String: String]] 的类型,并且您发现自己想要为该类型创建扩展,那么您确实打算创建 model 一个一个[Int: [String: String]]的结构。然后您只需向其添加方法即可,不需要扩展。

关于ios - 字符串扩展给出额外参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42138965/

相关文章:

ios - Firebase 3.x - Facebook 登录

ios - 查找哪个单元格被单击并执行 Segue

objective-c - 删除发送到 UILabel 的数据

ios - 在 Swift 中使用 C 库获取不安全指针

ios - Swift - 重点从何而来?

ios - MapKit Overlay Swift 问题

iphone - 我可以让 UIControl 取得 "disposable"事件目标的所有权吗?

ios - Swift - 即使我插入了不同的数字,文本字段也会返回 0

swift - 我的 Swift UI 中的 TextField 对点击和点击没有响应,无法输入文本,代码是否有问题?

ios - Firebase - 如何获取 observeEventType = Value 中的键值