Ich arbeite daran, einige Objective-C-Code auf Swift zu ändern, und ich kann nicht für das Leben von mir sorgen, wie man unsigned Char Arrays und bitweise Operationen in dieser spezifischen Instanz des Codes.Ich benutze C-Stil unsigned char-Array und bitweise Operatoren in Swift
Insbesondere arbeite ich den folgenden Objective-C-Code auf Umwandlung zu Swift (die mit CoreBluetooth beschäftigt):
unsigned char advertisementBytes[21] = {0};
[self.proximityUUID getUUIDBytes:(unsigned char *)&advertisementBytes];
advertisementBytes[16] = (unsigned char)(self.major >> 8);
advertisementBytes[17] = (unsigned char)(self.major & 255);
ich folgend in Swift versucht habe:
var advertisementBytes: CMutablePointer<CUnsignedChar>
self.proximityUUID.getUUIDBytes(advertisementBytes)
advertisementBytes[16] = (CUnsignedChar)(self.major >> 8)
Die Probleme, auf die ich gestoßen bin, sind, dass getUUIDBytes in Swift anscheinend nur ein Objekt als Argument verwendet, anstatt ein Array von CnsignedChars, also habe ich keine Ahnung, wie man die späteren bitweisen Operationen auf advertisementBytes durchführt, wie es scheint muss ein unsignedCh sein ar-Array dazu.
Außerdem gibt CMutablePointer<CUnsignedChar[21]>
einen Fehler aus, der besagt, dass Arrays fester Länge in CMutablePointers in Swift nicht unterstützt werden.
Könnte jemand bitte über mögliche Umgehungslösungen oder Lösungen beraten? Danke vielmals.
Könnten Sie das 'Objective-C' umfassen Versionen auch? –