Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:struct no init中的Swift访问函数_Ios_Swift_Xcode_Swift5.2 - Fatal编程技术网

Ios Swift:struct no init中的Swift访问函数

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中的函数

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)
注意:如果var
var 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)
注意:如果var
var 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)

也许你想要一个
静态函数
?也许你想要一个
静态函数