我是Swift的新手。我有字典,并且我将它传递给一些应该能够修改它的方法。什么是最好的解决方案,返回新词典(由于需要复制似乎效率低下):
func method(let dict : [String:String]) -> [String:String] {
var newDictionary = [String:String]()
... // copy to newDictionary/remove existing items
}
或将其作为inout
参数传递(它有效吗?):
func method(inout dict : [String:String]) {
... // modify existing dictionary
}
答案 0 :(得分:3)
输入输出参数具有传递给函数的值,由函数修改,并从函数传回以替换原始值。
如上所述,它将修改作为inout参数传递的实例。所以在你的情况下,在我看来,它确实是你想要做的事情。
https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html ctrl + f" inout"