Iphone 将nsdata对象合并到nsmutabledata对象中

Iphone 将nsdata对象合并到nsmutabledata对象中,iphone,ios,nsdata,nsmutabledata,Iphone,Ios,Nsdata,Nsmutabledata,我相当确定我必须使用NSMutableData来解决这个问题,因为我将多次访问对象,并在获得数据后添加数据的每个部分 我面临的问题是,我想创建一个大的NSMutableData对象,该对象将由附加到可变数据对象末尾的几个小NSData对象创建 我试过以下方法 EDIT://此方法现在也可以工作,并按其假定的方式附加数据。 - (void) constructRequest { NSData * protocolInt = [self addProtocolVersion]; NS

我相当确定我必须使用NSMutableData来解决这个问题,因为我将多次访问对象,并在获得数据后添加数据的每个部分

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

我试过以下方法

EDIT://此方法现在也可以工作,并按其假定的方式附加数据。

- (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*\u strong”wuth 类型为“NSData*”的表达式


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

为了消除这些警告,您可以制作一个这样的可变副本

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

addProSig
addAct
的方法声明是什么?如果它们返回一个
NSData*
,那么您需要通过执行类似于
NSMutableData*mutDat=[[NSMutableData alloc]initWithLength:[immutData length]]的操作将其转换为
NSMutableData*
;[mutDat setData:immutData]
其中
immutData
是一个不可变的NSData*。我已经弄明白了。我错误地声明了*第一个\u数据和*第二个\u数据。它们应该是NSData而不是NSMutableData。。对不起,太好了。那么在这件事上你还有什么需要回答的吗?这仍然是一个未回答的问题。:)啊。。我以为我已经打勾了。。。不管怎样,现在重新勾选:P