2014-10-31 122 views
1

我在Swift中通過流接收二進制信息。可以說這些信息是一張圖片。我現在想保存圖片。這怎麼可能?將二進制信息保存到文件

我嘗試以下操作:

let bufferSize = 154000 
var buffer = [UInt8](count: bufferSize, repeatedValue: 0) 
var bytesRead = inputStream?.read(&buffer, maxLength: bufferSize) 
if bytesRead > 0 { 

var bytesWrittenSoFar = 0 
do { 
    var diffbytes = bytesRead! - bytesWrittenSoFar 

    fileStream?.open() 
    fileStream?.write(UnsafePointer(&buffer[bytesWrittenSoFar]), maxLength: diffbytes) 

} while (bytesWrittenSoFar != bytesRead); 

但是,當我嘗試寫(FILESTREAM .WRITE ......?)我得到以下錯誤:「找不到‘初始化’,接受提供的參數過載

謝謝你的答案提前!

回答

0

問題是與UnsafePointer的初始化。在這種情況下,你不需要它了,你可以通過&buffer[bytesWrittenSoFar],因爲這是一個可接受的值傳遞給需要不安全的函數inter,根據蘋果書中的討論「在Cocoa和Objective-C中使用Swift」。

相關問題