closureのキャプチャーまわりの動きをplaygroundで確認していたところ、下記のような現象に遭遇しました。 var value: Int = 10 withUnsafePointer(to: &value) { print($0) } // 0x0000000116dabea0 let closure1 = { withUnsafePointer(to: &value) { print($0) } // 0x0000000116dabea0 print("value = \(value)") } closure1() // value = 10 と表示 value = 20; closure1() // value = 20 と表示 <- 値渡しになって"a = 10"になると思っていた The Swift Programming Language (Swift3) Closur