回答編集履歴
2
修正
answer
CHANGED
@@ -19,6 +19,6 @@
|
|
19
19
|
|
20
20
|
というわけで、質問文のコードにおいて、
|
21
21
|
`request.value`の書き換えは「`request`が参照しているインスタンスの`value`プロパティの書き換え」であって
|
22
|
-
`request`
|
22
|
+
`request`の値(=どのインスタンスを参照しているか)は変更してないので`inout`をつけなくても合法です。
|
23
23
|
|
24
|
-
(仮に `request = ...`というコードを書く場合は`inout`を付ける必要があります。)
|
24
|
+
(なので仮に `request = ...`というコードを書く場合は`inout`を付ける必要があります。)
|
1
typo
answer
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
「関数内でパラメータの値を変更して、関数が終わってもその変更を維持したい場合に`in-out parameter`を使う」
|
8
8
|
とあります。
|
9
9
|
これを読んでもたしかに質問のようなことを疑問に思うかもしれませんが、
|
10
|
-
ここで重要なの
|
10
|
+
ここで重要なのは「パラメータの値」が何を意味しているかです。
|
11
11
|
|
12
12
|
渡されているパラメータの型:`CBATTRequest`は`class`です。
|
13
13
|
[リファレンスのClass](https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html#ID89)について読むと、
|