Объединить объекты 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
Другие вопросы по тегам