我正在创建一个发送到我的服务器的数据包,数据包由几个不同的段组成,目前是硬编码的。但是,目标是动态创建数据包内容。
我目前所拥有的是几种方法,它们都将所有值硬编码到它们中,然后我有一个构造数据包的方法。
这是一个关于如何做事的简单例子。
//硬编码 - 需要这些方法的原因是因为有很多转换内容正在进行,创建将值放入NSData对象等的值的二进制表示。但是我只是通过将字符串放入等中来过度简化它们...
- (NSMutableData *) addSignature
{
NSString * const Signature = @"HELLO";
return ProtocolSignatureMutableData;
}
- (NSMutableData *) addVersion
{
const UInt32 Version = 1;
return Version;
}
//等
从那里我使用另一种方法来创建数据包,该数据包调用所有这些方法来获取返回值。
- (void) constructRequest
{
NSData *Signature = [self addSignature];
NSData *Version = [self addVersion];
//Packet
NSMutableData * myDataPacket = [[NSMutableData alloc] init];
[myDataPacket appendData:Signature];
[myDataPacket appendData:Version];
//send data pack where ever I please..
}
然而,正如您所看到的那样,这些方法都是硬编码的,我通过调用我所拥有的constructRequest方法来获取数据......
回复:艺术的建议
我想知道从静态方法(如addignature& addversion)到动态。例如,这两种方法中的值都会根据用户的选择而改变...
我希望这更有意义。