我想指定属性,该属性是在函数myFunc
中进行操作的数组,但是出现此错误。这是我的代码草图。
self.data = MyObject()
func myFunc(x: inout [Int], y: inout [[Int]]) {
//manipulation code to x and y
}
myFunc(x: &self.data.array1, y: &self.data.array2)
myFunc(x: &self.data.array3, y: &self.data.array4)
任何想法如何使其起作用?在此用例中,是否应该使用更好的模式?谢谢!
答案 0 :(得分:3)
在Swift文档中有非常详尽的解释:
https://docs.swift.org/swift-book/LanguageGuide/MemorySafety.html
基本上,您正威胁要同时以两种不同方式变异/写入同一对象。那是不连贯的,如果编译器没有阻止您,则运行时将停止。