Avatar
素朴な疑問なんですけど、String.init(cString:)が取る型はなぜUnsafePointer<Int8>で、UnsafePointer<UInt8>ではないんでしょうか? Character.asciiValueはUInt8なので気になりました。 let ptr = UnsafeMutablePointer<Int8>.allocate(capacity: len) ptr[0] = Int8(Character("n").asciiValue!) ptr[1] = Int8(Character("e").asciiValue!) ptr[2] = Int8(Character("k").asciiValue!) ptr[3] = Int8(Character("o").asciiValue!) ptr[4] = Int8(Character("\0").asciiValue!) let immutablePtr = UnsafePointer<Int8>(ptr)! let neko = String(cString: immutablePtr) (edited)