swift3に移行時のOutputStreamでのバグを直したい
初心者ですみません。
今playground上で動くプログラムをswift2.1からswift3に書き換えていて、プログラムの指示通りに直していたのですが、
あるテキストボックスを作り、上書き保存する場面でエラーが出ました。
import Cocoa
var Mill1 = "a8 ~ a16"
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let fileObject = Mill1
let fileName = "Mill crepe1.txt"
let filePath = documentsPath + fileName
do {
try fileObject.write(toFile: filePath, atomically: true, encoding: String.Encoding.utf8)
} catch {
}
let output = OutputStream(toFileAtPath: filePath, append: true)
output?.open()
let text = Mill1 + "\n"
let cstring = text.cString(using: String.Encoding.utf8)
let bytes = UnsafePointer<UInt8>(cstring!)
let size = text.lengthOfBytes(using: String.Encoding.utf8)
output?.write(bytes, maxLength: size)
output?.close()
この、下から4行目の
let bytes = UnsafePointer(cstring!)
の場所で、
error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:_)' to temporarily view memory as another layout-compatible type.
のエラーが出ました。
翻訳すると、'init'は使用できないので'withMemoryRebound(to:capacity:_)'を使用して、メモリーを別のレイアウト互換タイプとして一時的に表示してくれとのことなのですが、
別のレイアウト互換タイプとして表示するには具体的にどのようにすればいいのでしょうか?