Contenido NSLog de uint32_t array

Estoy trabajando con otro progtwigdor en algún código. Ha escrito un algorithm de deencoding en C y me ha proporcionado una class Objective-c que sirve como un contenedor para evitar tener que manejar las llamadas a su código.

Su file .h se parece a esto

#import <UIKit/UIKit.h> #import "decode_audio_data.h" @interface DecoderWrapper : UIViewController { uint32_t numberOfDecodedData; uint32_t decodedData[MAX_DECODED_DATA_SIZE]; } - (void) feedData:(int16_t [])data; - (uint32_t) numberOfDecodedData; - (uint32_t *) decodedData; @end 

Ahora llamo sin problema las funciones "feedData" y "numberOfDecodedData", pero estoy enfrentando algunos problemas para llamar a "decodedData", que se supone que deben devolver una matriz de uint32_t.

¿Cómo puedo NSLog el contenido de esa matriz? Estoy bastante confundido porque no conozco a C y no estoy muy seguro con los pointers …

Este es el punto donde estoy haciendo las llamadas:

 [decoderWrapped feedData:debug]; if ([decoderWrapped numberOfDecodedData] > 0) { for (in j=0; j<[decoderWrapped numberOfDecodedData]; j++) { // how do I print out every position of [decoderWrapped decodedData] ?? } } 

Cualquier ayuda apreciada!

Tratar

 NSLog(@"%u", [decoderWrapped decodedData][j]); 

dentro de tu bucle tienes hasta ahora.

La respuesta corta es NSLog( @"%d", [[decoderWrapped decodedData][j] ) . Un uint32_t es realmente un unsigned int ( related – typedef ).

La respuesta más larga es que desea echar un vistazo a la guía de formateo de cadenas , que es casi idéntica al formatting de la secuencia de commands C , con algunas adiciones para manejar objects.

  uint32_t *decodedData = [decoderWrapped decodedData]; for (int j=0; j<12; j++) { NSLog(@"%d",decodedData[j]); }