NSMutableData
Int's
またはFloat
の配列を作成し、それらをディスクに保存することができます。新しいデータ構造体にIntを追加する方法(Swift 3)
protocol BinaryConvertible
{
init()
}
extension Int : BinaryConvertible {}
struct Storage<T: BinaryConvertible>
{
let data = NSMutableData()
func append(value: T)
{
var input = value
data.append(&input, length: sizeof(T))
}
func extract(index: Int) -> T
{
var output = T()
let range = NSRange(location: index * sizeof(T), length: sizeof(T))
data.getBytes(&output, range: range)
return output
}
}
スウィフト3はボンネットの下NSData
を使用する新しいData
タイプを有しています。 String
およびNSString
のようになります。例を追加する方法がわかりません。新しい方法を使用してDouble
append関数の結果はUnsafePointer<UInt8>
になりますが、これはDouble
またはランダム構造体からどのように作成するのですか?
可能な重複:/ /stackoverflow.com/questions/29556610/cast-a-swift-struct-to-unsafemutablepointervoid) – Alexander
私はそうは思わない。迅速に3 DataはUnsafePointerを期待しています。 UInt8型に注意してください。私が今までに見つけたものはすべてUnsafePointer ポインタを扱っています。私はディスクに書き込むことができるようにバイトを取得し、後でそれらのバイトを読み戻す必要があります。 –
user965972
それはキャストすることができます – Alexander