将nsdata对象组合到nsmutabledata对象中

C.J*_*hns 6 iphone nsdata nsmutabledata ios

我很确定我必须使用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];

}
Run Code Online (Sandbox Code Playgroud)

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

NSMutableData *first_data = [self addProSig]; //nsdata type
        NSMutableData *second_data = [self addAct]; //nsdata type
Run Code Online (Sandbox Code Playgroud)

我在两条线上都有警告

不兼容的指针类型初始化'NSMutableData*_strong'wuth一个'NSData*'类型的表达式

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

Jef*_*ski 5

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

NSMutableData *first_data = [[self addProSig] mutableCopy]; //nsdata type
NSMutableData *second_data = [[self addAct] mutableCopy]; //nsdata type
Run Code Online (Sandbox Code Playgroud)