Estoy bastante seguro de que tengo que usar NSMutableData para este problema, ya que voy a acceder al objeto varias veces y agregar cada sección de datos una vez que lo tenga.combina objetos nsdata en el objeto nsmutabledata
El problema que estoy frente a es que estoy queriendo crear un gran objeto NSMutableData que será creada por varios pequeños objetos NSData que se adjuntará al final de los datos mutables se oponen
He intentado el siguiente .
EDITAR: // Este método ahora funciona y agrega los datos como se supone también.
- (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];
}
En primer lugar no estoy seguro si esta es la forma correcta de añadir datos, Es sólo que he visto varios ejemplos similares. El principal problema es que en las dos líneas aquí
NSMutableData *first_data = [self addProSig]; //nsdata type
NSMutableData *second_data = [self addAct]; //nsdata type
tengo advertencias en ambas líneas
tipos de puntero incompatibles inicialización 'NSMutableData * _strong' Wuth una expresión del tipo 'NSData *'
cualquier ayuda sería apreciada, También posibles soluciones mejores que las que estoy usando si las hubiera.
¿Cuál es la declaración del método de '' addProSig' y addAct'? Si devuelven un 'NSData *', entonces necesitas convertirlo a 'NSMutableData *' haciendo algo como 'NSMutableData * mutDat = [[NSMutableData alloc] initWithLength: [immutData length]]; [mutDat setData: immutData]; 'donde' immutData' es un NSData * inmutable. – user1118321
Lo he descubierto ... Estaba declarando el * first_data y * second_data incorrectamente. deberían haber sido NSData, no NSMutableData ... lo siento por eso. –