merge many bytes arrays into one byte array in objective c -


i have used nsmutabledata merge byte arrays

    nsmutabledata *payload;     payload = [[nsmutabledata alloc] init];  [payload appendbytes:cfbridgingretain((cm.msgbytes)) length:[cm.msgbytes length]];  nsstring *cmdata = [[nsstring alloc] initwithdata:[payload mutablebytes] encoding:nsutf8stringencoding]; 

i want keep on adding payload until done

cmdata nil

as initwithdata takes nsdata converted bytes nsdata result still same

 nsdata *bytesdata = [nsdata datawithbytes:[payload mutablebytes] length:[payload length]];   nsstring *cmdata = [[nsstring alloc] initwithdata:bytesdata encoding:nsutf8stringencoding]; 

i think you're confusing things in several places. api says "bytes", it's talking c array of bytes; says "data", it's talking nsdata object.

assuming cm.msgbytes nsdata object, appears given retrieve .length, better version of code be:

nsmutabledata *payload; payload = [[nsmutabledata alloc] init];  [payload appenddata:cm.msgbytes];  nsstring *cmdata = [[nsstring alloc] initwithdata:payload encoding:nsutf8stringencoding]; 

if wrote class cm belongs to, should rename msgbytes msgdata (or messagedata), match apis better.


Comments

Popular posts from this blog

SPSS keyboard combination alters encoding -

Add new record to the table by click on the button in Microsoft Access -

javascript - jQuery .height() return 0 when visible but non-0 when hidden -