objective-c:如何将string分配给NSMutableData?

我要发送数据到数字仪表,我希望在NSMutableDataforms的数据。 我想分配数据,但得到错误。

NSMutableData *body = [[NSMutableData alloc] initWithData:[NSData @"1"]; 

我想为string,例如“1”,“开始”等NSMutableData。

你不能直接从NSString转换为NSMutableData ,你必须首先将string编码为NSData 。 (有几种方法可以从NSData到NSMutableData,但我认为mutableCopy是最清晰的。

尝试这个:

 NSString *yourString = @"Your string text"; NSData *data = [yourString dataUsingEncoding:NSUTF8StringEncoding]; NSMutableData *body = [data mutableCopy]; 
 NSString *str = @"ABC"; NSMutableData* body = (NSMutableData *)[str dataUsingEncoding:NSUTF8StringEncoding]; 
 NSMutableData* body = [[@"1" dataUsingEncoding:NSUTF8StringEncoding] mutableCopy]; 

你可以使用[@"1" dataUsingEncoding:NSUTF8StringEncoding]将NSString转换成NSData,其余的代码是OK的。

 NSMutableData *body = [[NSMutableData alloc] initWithData:[@"1" dataUsingEncoding:NSUTF8StringEncoding]];