Iterate durch NSData Bytes

7

Wie kann ich nacheinander [NSData bytes] durchlaufen und an eine NSMutableString anhängen oder sie mit NSLog() ?

drucken?     
yannis 06.05.2012, 20:35
quelle

2 Antworten

28

Anstatt Bytes an eine veränderbare Zeichenfolge anzufügen, erstellen Sie eine Zeichenfolge mit den Daten:

%Vor%

Wenn Sie wirklich die Bytes durchlaufen möchten:

%Vor%     
dreamlax 06.05.2012, 20:36
quelle
11

Aktualisierung! Seit iOS 7 gibt es eine neue, bevorzugte Möglichkeit, alle Bytes in einem NSData-Objekt zu durchlaufen.

Da ein NSData jetzt aus mehreren disjunkten Bytearray-Chunks unter der Haube bestehen kann, kann der Aufruf von [NSData bytes] manchmal speicherinffizient sein, weil es alle darunter liegenden Chunks in ein einziges Byte-Array für die Anrufer.

Um dieses Verhalten zu vermeiden, ist es besser, Bytes mit der enumerateByteRangesUsingBlock: -Methode von NSData aufzuzählen, die Bereiche der vorhandenen zugrunde liegenden Chunks zurückgibt, auf die Sie direkt zugreifen können, ohne dass Sie neue Array-Strukturen generieren müssen. Natürlich müssen Sie darauf achten, nicht unangemessen in dem bereitgestellten C-artigen Array herumzustochern.

%Vor%     
Jason LeBrun 20.11.2014 22:14
quelle

Tags und Links