Wie setze ich & amp; Erhalten Sie den Wert des Zeigers Swift
In Objetive-C, wenn ich will, festlegen/ändern Sie den Wert des Zeigers. Ich benutze
*pointer = value
Aber In Swift, wie zu get/set Wert für Zeiger?
Ich bin woking mit bitmap-pixel:
NSUInteger offsetPixelCountForInput = ghostOrigin.y * inputWidth + ghostOrigin.x;
for (NSUInteger j = 0; j < ghostSize.height; j++) {
for (NSUInteger i = 0; i < ghostSize.width; i++) {
UInt32 * inputPixel = inputPixels + j * inputWidth + i + offsetPixelCountForInput;
UInt32 inputColor = *inputPixel;
newR = MAX(0,MIN(255, newR));
newG = MAX(0,MIN(255, newG));
newB = MAX(0,MIN(255, newB));
*inputPixel = RGBAMake(newR, newG, newB, A(inputColor));
}
}
So, ich möchte konvertieren Sie diesen code in Swift, aber ich bin stecken mit Zeigern.
23.03.2016 - Update-code
var inputPixels:UnsafeMutablePointer<UInt32> = nil
inputPixels = UnsafeMutablePointer<UInt32>(calloc(inputHeight * inputWidth, UInt(sizeof(UInt32))))
InformationsquelleAutor der Frage Giang | 2014-09-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Arbeit mit Zeigern in Swift. Es gibt
UnsafePointer
undUnsafeMutablePointer
generische Typen.Hier ist eine Funktion, der eine
float
ZeigerSie können float-variable zu übergeben und die Adresse
&floatVar
oder Sie können erstellen und zuweisen
UnsafeMutablePointer
und übergeben. Aber Sie müssen manuell zuweisen und freigeben von Speicher.Beim arbeiten mit einer
UnsafeMutablePointer
Zeiger geben wollen und weisen Sie einen Wert zu, müssen Sie Folgendes tun:memory
Eigenschaft- Code Beispiel:
InformationsquelleAutor der Antwort Kostiantyn Koval
Sollten Sie verwenden pointee - Eigenschaft anstelle der Speicher in Swift 3
InformationsquelleAutor der Antwort Roman