2

iOS デバイス上のアプリ用に迅速に TCP クライアントを作成しています。サーバー上でデータを送信するために NSOuputStream を使用しています。私たちのプロトコルは JSON タイプで、最初に json の長さ (unsigned Int 32 ビット) を送信し、次に JSON コンテンツ (UTF8 文字列として) を送信する必要があります。

write(_:maxLength:)NSOutputStream の関数を使用して Int を記述する方法が見つからないことを除いて、すべてが正常に機能します。

JSON 文字列を変換するUnsafePointer<UInt8>には、次を使用します

//var json: String
let encodedData = [UInt8](json.utf8)
let result = outputStream?.write(encodedData, maxLength: encodedData.count)

誰かが Int のためにそれを行う方法を知っていますか?

ご協力いただきありがとうございます !

4

2 に答える 2

6

次のようなことができるはずです。

var int = 100

let result = withUnsafePointer(&int) {
    outputStream?.write(UnsafePointer($0), maxLength: sizeof(Int))
}

編集:あなたIntができることを読むために

func getInt(ptr: UnsafePointer<UInt8>) -> Int {
    return UnsafePointer(ptr).memory
}
于 2015-09-12T14:31:44.137 に答える