问题
how i could append nsdata, i would append lenght data on first message to send on socket i use code like this but error on runing.
int lendata = [message length];
NSData *firstdata = [NSData dataWithBytes: &lendata length: sizeof(lendata)];
NSData *mdata = [message dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *seconddata = [NSData dataWithData:mdata];
[firstdata appendData:secondata];
please tell if there is another way Thanks for your help.
回答1:
Glancing into my crystal ball:
You are declaring
seconddata
as anNSMutableData
instance, but then you initialize it using[NSData dataWithData:]
instead of[NSMutableData dataWithData:
], soseconddata
won't be mutable in the end and you cannot append to it.You are trying to append to
firstdata
, which is not mutable either.
Solution: make firstdata
mutable:
NSMutableData *firstdata = [NSMutableData dataWithBytes: &lendata
length: sizeof(lendata)];
[firstData appendData:[message dataUsingEncoding:NSUTF8StringEncoding]];
Then you can safely drop mdata
and seconddata
as they are not needed anymore.
回答2:
NSMutableData *first_data = [NSMutableData dataWithContentsOfURL:self.firstURL];
NSMutableData *second_data = [NSMutableData dataWithContentsOfURL:self.secondURL];
[first_data appendData:second_data];
[first_data writeToURL:url atomically:YES];
check above code for append
来源:https://stackoverflow.com/questions/6042376/how-append-nsdata