Ios Swift:struct no init中的Swift访问函数
我正试图像这样访问struct中的函数Ios Swift:struct no init中的Swift访问函数,ios,swift,xcode,swift5.2,Ios,Swift,Xcode,Swift5.2,我正试图像这样访问struct中的函数 struct DoSomething { var str: String func processNumber(number: Int) -> String { return "\(number)" } } let number = DoSomething().processNumber(number: 10) print(number) 但我得到了一个错误: Missing argument for
struct DoSomething {
var str: String
func processNumber(number: Int) -> String {
return "\(number)"
}
}
let number = DoSomething().processNumber(number: 10)
print(number)
但我得到了一个错误:
Missing argument for parameter 'str' in call
大家都知道如何访问结构中的函数
非常感谢您的帮助。您应该通过这样一个参数
let number = DoSomething(str:"someValue").processNumber(number: 10)
因为在这种情况下没有()
init,如果需要它,可以使用单独的逻辑
class func processNumber(number: Int) -> String {
return "\(number)"
}
打个电话
let number = DoSomething.processNumber(number: 10)
注意:如果varvar str:String
没有任何用途,则也不应创建它
你应该通过这样一个参数
let number = DoSomething(str:"someValue").processNumber(number: 10)
因为在这种情况下没有()
init,如果需要它,可以使用单独的逻辑
class func processNumber(number: Int) -> String {
return "\(number)"
}
打个电话
let number = DoSomething.processNumber(number: 10)
注意:如果varvar str:String
没有任何用途,则也不应创建它
创建
DoSomething
的实例时,必须初始化str
在结构中指定一个默认值
struct DoSomething {
var str: String = ""
....
}
let number = DoSomething().processNumber(number: 10)
或者在具有签名init(str:String)
创建
DoSomething
的实例时,必须初始化str
在结构中指定一个默认值
struct DoSomething {
var str: String = ""
....
}
let number = DoSomething().processNumber(number: 10)
或者在具有签名init(str:String)
通过将
str
声明为可选项,可以解决此问题
struct DoSomething {
var str: String?
func processNumber(number: Int) -> String {
return "\(number)"
}
}
let number = DoSomething().processNumber(number: 10)
print(number)
通过将
str
声明为可选项,可以解决此问题
struct DoSomething {
var str: String?
func processNumber(number: Int) -> String {
return "\(number)"
}
}
let number = DoSomething().processNumber(number: 10)
print(number)
也许你想要一个
静态函数
?也许你想要一个静态函数
?