如何在objective-c中动态创建数据包

时间:2012-03-06 21:24:07

标签: iphone ios nsdata

我正在创建一个发送到我的服务器的数据包,数据包由几个不同的段组成,目前是硬编码的。但是,目标是动态创建数据包内容。

我目前所拥有的是几种方法,它们都将所有值硬编码到它们中,然后我有一个构造数据包的方法。

这是一个关于如何做事的简单例子。

//硬编码 - 需要这些方法的原因是因为有很多转换内容正在进行,创建将值放入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)到动态。例如,这两种方法中的值都会根据用户的选择而改变...

我希望这更有意义。

0 个答案:

没有答案