我的班级看起来像这样:
class MyNewClass {
func myNewFunction (paramString : String) -> String {
var myString = ""
if paramString.caseInsensitiveCompare("A") == ComparisonResult.orderedSame {
myString = "The string is A"
}else{
myString = "The string is blank"
}
return myString
}
}
这没有问题。但是当我在另一个ViewContoller
中使用这个类时,它给了我一个奇怪的错误。
我在另一个myNewFunction
ViewController
这样的内容
let myString : String = MyNewClass.myNewFunction("A")
假设我应该插入" A"我在myNewFunction()
中定义为paramString
MyNewClass
,但我收到了这样的警告
'字符串'不能转换为“MyNewClass'
”
我只是不知道为什么我无法解析String
作为myNewFunction()
的参数。为什么myNewFunction()
需要该类包含MyNewClass
作为参数?
有人请指导我正确的方向
答案 0 :(得分:1)
如果您想在不启动MyNewClass
实例的情况下调用它,则可以在static
之前添加func
,例如
class MyNewClass {
static func myNewFunction (paramString : String) -> String {
var myString = ""
if paramString.caseInsensitiveCompare("A") == ComparisonResult.orderedSame {
myString = "The string is A"
} else {
myString = "The string is blank"
}
return myString
}
}
MyNewClass.myNewFunction(paramString: "foo")
在视觉上,您可以创建MyNewClass的实例。
let myInstance = MyNewClass()
let myString = myInstance.myNewFunction(paramString: "foo")