Mam problem, gdy próbowałem przekonwertować kod Objective-C na Swift. Oto moje kody w Objective-C:
NSMutableData *deviceToken = [NSMutableData data];
unsigned value;
NSScanner *scanner = [NSScanner scannerWithString:self.deviceToken];
while(![scanner isAtEnd]) {
[scanner scanHexInt:&value];
value = htonl(value);
[deviceToken appendBytes:&value length:sizeof(value)];
}
mój kod w Swift
let deviceToken = NSMutableData()
var value: CUnsignedInt
let scanner = NSScanner(string: deviceTokenString)
while (!scanner.atEnd) {
scanner.scanHexInt(&value)
}
Nie wiem, jaki typ jest unsigned w Swift i jak je konwertować.
Odpowiedzi:
0 dla odpowiedzi № 1Powyższy kod działa, jedyny błąd jaki popełniłeśpobieranie z wklejonym fragmentem kodu jest wartością "Adres zmiennej" pobraną przed jej zainicjalizacją ", co oznacza, że jeszcze nie przypisano wartości do zmiennej.
Na przykład var value: CUnsignedInt = 10
usunie błąd. Jeśli dostajesz inne błędy, musisz podać więcej kodu.