嗨我想创建一个数据包,我想通过网络发送到服务器,我几乎得到的数据包排序,但缺少一个长度标识符,我需要在我的方法结束时计算并添加到数据包中。操纵nsmutabledata
包结构是这样的
- 领先的值标识符(UINT16)
- 内容大小(UInt32的)
- 包内容(串)
目前我的方法看起来像此
- (NSMutableData *) addRegCode
{
//Supply some default string for testing
NSString *regCode = [[NSString alloc] initWithString:@"abcd1"];
//create NSData object
NSData *registrationCodeData = [regCode dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData * RegistrationCodeMutableData = [[NSMutableData alloc] init]; //send this object
//create leading value
UInt16 leadingValue = 8;
NSData * leadingValueData = [[NSData alloc] initWithBytes:&leadingValue length:sizeof(leadingValue)];
//append data to mutableData
[RegistrationCodeMutableData appendData:leadingValueData];
[RegistrationCodeMutableData appendData:registrationCodeData];
return RegistrationCodeMutableData;
}
我想知道什么是如何计算的大小registrationCodeData,然后在那里我追加leadingValueData & registrationCodeData
我想我必须使用dataWithBytes之间添加:长度:但我米100%不知道如何使用这个
所以我有这个** NSData * registrationCodeSize = [NSData dataWithBytes:registrationCodeData length:???]; **但是,我不知道该把长度放在问号上。 – 2012-02-26 21:03:59