gpt4 book ai didi

swift - 无法将类型 'String' 的值转换为预期的参数类型

转载 作者:行者123 更新时间:2023-11-30 10:01:45 25 4
gpt4 key购买 nike

我在项目中创建了单独的 swift 类来收集所有必需的信息和验证,如下所示:

Config.swift

public class Config: NSObject {    
func isValidEmail(testStr:String) -> Bool {
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
let range = testStr.rangeOfString(emailRegEx, options:.RegularExpressionSearch)
let result = range != nil ? true : false
return result
}
}

但问题是当我在另一个类中调用该函数时,我遇到了以下错误:

if (Config.isValidEmail(txtEmail.text!))

Cannot convert value of type 'String' to expected argument type 'Config'

如果我这样做,如下所示,会得到不同的错误。

Config.isValidEmail(txtEmail.text)

Cannot convert value of type 'String?' to expected argument type 'Config'

我不知道为什么。请帮我解决一下。

最佳答案

您关心将 isValidEmail(_:) 作为类方法调用,但它是一个实例方法。

我认为您想让 isValidEmail(_:) 成为一个类方法。

public class Config: NSObject {
static func isValidEmail(testStr:String) -> Bool {
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
let range = testStr.rangeOfString(emailRegEx, options:.RegularExpressionSearch)
let result = range != nil ? true : false
return result
}
}

注意:static 说明符。

关于swift - 无法将类型 'String' 的值转换为预期的参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38136155/

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