如何在Swift中修改方法中的Dictionary对象?

时间:2015-11-03 08:36:17

标签: xcode swift

我是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
}

1 个答案:

答案 0 :(得分:3)

  

输入输出参数具有传递给函数的值,由函数修改,并从函数传回以替换原始值。

如上所述,它将修改作为inout参数传递的实例。所以在你的情况下,在我看来,它确实是你想要做的事情。

https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html ctrl + f" inout"