问题
I am to send data to digital meter for which I want data in NSMutableData form. I am trying to assign it data but getting errors.
NSMutableData *body = [[NSMutableData alloc] initWithData:[NSData @"1"];
I want to asign string e.g. "1", "start" etc to NSMutableData.
回答1:
You can't convert directly from an NSString to NSMutableData
, you have to encode the string as NSData
first. (There are several ways to go from NSData to NSMutableData, but I think mutableCopy
is the clearest.);
Try this:
NSString *yourString = @"Your string text";
NSData *data = [yourString dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *body = [data mutableCopy];
回答2:
NSString *str = @"ABC";
NSMutableData* body = (NSMutableData *)[str dataUsingEncoding:NSUTF8StringEncoding];
回答3:
NSMutableData* body = [[@"1" dataUsingEncoding:NSUTF8StringEncoding] mutableCopy];
回答4:
You could convert NSString into NSData with[@"1" dataUsingEncoding:NSUTF8StringEncoding]
, the rest of your code is OK.
NSMutableData *body = [[NSMutableData alloc] initWithData:[@"1" dataUsingEncoding:NSUTF8StringEncoding]];
来源:https://stackoverflow.com/questions/7416204/objective-c-how-to-assign-string-to-nsmutabledata