実現したいこと
(1) 外部からデータを受け取り構造体に格納する。← ここは実現できています。
(2) 構造体のデータを[UInt8]またはData/NSDataに変換する。← 実現できていない(わからない)部分。
(3) (2)で変換したデータをバイナリファイルとして書き出す。← 実現方法はググって出てきました。
前提
開発環境:Xcode15.2
開発言語:Swift 5 ("Build Settings" - "Swift Language Version" で確認)
上記「実現したいこと」の(2)に関して、
後述の「該当のソースコード」のように外部から型の異なるデータを取り込み、
構造体「allCommands」に格納する仕組みとなっております。
この構造体のデータをバイナリファイルとして書き出すことが目的ですが、
その前に[UInt8]またはData/NSDataに変換しなければなりません。
該当のソースコード
Swift
1// 構造体 2class StructData { 3 public struct allCommands { 4 var stCommand1 = command1() 5 var arr_stCommands2 = [commans2()] // 同じデータ構造を複数取り込むための構造体command2の配列。 6 } 7 8 public struct commands1 { 9 var header: [Int8](repeating: 0x00, count:16) // ← 初期値。実際は別の値。 10 var numberOfCommands: Int32 = 0x00000000 // ← 初期値。実際は別の値。 11 } 12 13 public struct commands2 { 14 var commandType: Int32 = 0x00000000 // ← 初期値。実際は別の値。 15 var numbrOfParams: Int32 = 0 // ← 初期値。実際は別の値。 16 var parameters: [Int32](6) 17 var binStrings: [Int8](16) 18 var count: Int32 = 0 // ← 初期値。実際は別の値。 19 } 20}
試したこと
構造体のデータをバイナリファイルとして書き出すために、下記のようにコードしましたが、
この先どのように変換したら良いのか全くわかりません。
Swift
1stAllCommandsToFile: [StructData.allCommands] = [StructData.allCommands]( arr_stCommands2:[StructData.commands2()])] 2// (1) 外部からデータを受け取り構造体に格納する。← ここは実現できています。 3 4// (2) 構造体のデータを[UInt8]またはData/NSDataに変換する。← 実現できていない部分。 5var binDataToFile = [UInt8]() // バイナリファイルとして書き出すための配列 6??? ??? 7 8// (3) (2)で変換したデータをバイナリファイルとして書き出す。← 実現方法はググって出てきました。 9
恐れ入りますが、どなたか良い方法がありましたら、ご教授頂けますと助かります。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/03/26 07:43
2024/03/28 01:51 編集
2024/03/28 01:52