Я получаю данные из UDP и по структуре делаю их читаемыми для следующего использования.
struct Signal {
let id : Int
let strenght : Float
let info1 : Float
let info2 : Float
let nextData : Float
}
чтение с использованием
var s : Signal?
dataTest.withUnsafeBytes({(bytes: UnsafePointer<Signal>)->Void in
s = UnsafePointer<Signal>(bytes).pointee
})
и все работает просто отлично.
Но есть ли способ изменить info1 и info2 в массив?
Я пробовал это:
struct Signal {
let id : Int
let strenght : Float
let info = Array<Float?>(repeating: nil, count: 2)
let nextData : Float
}
но я получаю ошибку EXC_BAD_ACCESS.
в C # Я использую это
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
public float[] info;
и работал отлично, но я не могу найти выход в Свифте.