将nsdata对象组合到nsmutabledata对象中

时间:2012-02-24 02:41:56

标签: iphone ios nsdata nsmutabledata

我很确定我必须使用NSMutableData来解决这个问题,因为我将多次访问该对象并在我拥有它之后添加每个数据部分。

我面临的问题是我想要创建一个大的NSMutableData对象,该对象将由附加到可变数据对象末尾的几个小NSData对象创建

我尝试了以下内容。

编辑://此方法现在可以正常工作,并将数据附加到其应有的位置。

- (void) constructRequest
{
    NSData * protocolInt = [self addProtocolVersion];
    NSMutableData * myMutableData = [[NSMutableData alloc] init];

    NSData *first_data = [self addProSig]; //nsdata type
    NSData *second_data = [self addAct]; //nsdata type
    [myMutableData appendData:first_data];
    [myMutableData appendData:second_data];
    //etc


    [protocolInt writeToFile:@"/Users/imac/Desktop/_dataDump.dat" atomically:YES];

}

首先,我甚至不确定这是否是附加数据的正确方法,只是我看到了几个类似的例子。 主要问题是这两行

NSMutableData *first_data = [self addProSig]; //nsdata type
        NSMutableData *second_data = [self addAct]; //nsdata type

我在两行都有警告

  

初始化'NSMutableData * _strong'wuth的不兼容指针类型   “NSData *”

类型的表达式

任何帮助将不胜感激,也可能是更好的解决方案,如果有任何我正在使用。

1 个答案:

答案 0 :(得分:5)

要摆脱这些警告,你可以制作一个像这样的可变副本......

NSMutableData *first_data = [[self addProSig] mutableCopy]; //nsdata type
NSMutableData *second_data = [[self addAct] mutableCopy]; //nsdata type