Einige C-APIs, z.B. glGetShaderInfoLog, gibt Zeichenarrays in Puffern zurück. Ich muss sie in Strings konvertieren, um sie zu verwenden.Konvertieren Swift CChar Array in einen String
var value: GLint = 0
glGetShaderiv(shader, GLenum(GL_INFO_LOG_LENGTH), &value)
var infoLog: GLchar[] = GLchar[](count: Int(value), repeatedValue: 0)
var infoLogLength: GLsizei = 0
glGetShaderInfoLog(shader, value, &infoLogLength, &infoLog)
var s: String = NSString.stringWithUTF8String(infoLog) // Compile Error: Cannot convert the expression's type 'NSString!' to type 'CString'
In diesem Beispiel GLchar Karten auf den Swift Typen CChar AKA Int8 aber für das Leben von mir kann ich nicht einen String oder NSString Methode finden, die mit ihm initialisieren werden.
was ist, wenn Sie es zu NSString anstelle typehint? – zneak
Derselbe Kompilierungsfehler. – darrinm