Объединить объекты 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" с выражением типа "NSData *"
любая помощь будет оценена, а также возможно лучшие решения, что я использую, если таковые имеются.
1 ответ
Чтобы избавиться от этих предупреждений, вы можете сделать изменяемую копию, подобную этой...
NSMutableData *first_data = [[self addProSig] mutableCopy]; //nsdata type
NSMutableData *second_data = [[self addAct] mutableCopy]; //nsdata type