Avatar
Avatar
udo223
classのData型の初期化について質問させてください。 var string: String = "" var int: Int = 0 var bool: Bool = false var data: Data = Data() Data型に初期値をもたせる場合はData()で良いのでしょうか? それともvar data: Data? でoptionalにすべきでしょうか?
どのような初期値を持たせたいかによりますね。 var data: Data = Data() と書くと、 0 バイトのバイト列を表す Data インスタンスとして初期化されます。
3:02 AM
たとえば、 0 バイトのバイト列を作って、これからそのバイト列にデータを書き込んで行きたい場合は、 Data 型にして Data() を初期値で持たせるのが良いと思います。
3:02 AM
一方で、これから Data 型を値を代入したいけど、今はまだデータが存在しないことを示したいなら Data? 型にして nil で初期化するのが良いと思います。
3:03 AM
(あと、余談気味ですが、 Data はクラスではなく struct ですね。 https://developer.apple.com/documentation/foundation/data