我很确定我必须使用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 *”
类型的表达式
任何帮助将不胜感激,也可能是更好的解决方案,如果有任何我正在使用。
答案 0 :(得分:5)
要摆脱这些警告,你可以制作一个像这样的可变副本......
NSMutableData *first_data = [[self addProSig] mutableCopy]; //nsdata type
NSMutableData *second_data = [[self addAct] mutableCopy]; //nsdata type