como criar e alocar um buffer C como parte de uma classe C de objetivo

melhor explicar com um exemplo:

no meu AudioItem.h

#define ITEM_CAPACITY 100

typedef struct DataStruct {
    void *                          content;
    UInt32                          size;
} DataStruct;

typedef DataStruct *DataStructRef;

@interface AudioItem : NSObject
{        
    DataStructRef data;        
}

@property (assign, readwrite) DataStructRef data;

em AudioItem.m @synthesize dados;

-(id)initWithID:(NSString *)itemID
{
    self = [super init];        
    data->content = malloc(ITEM_CAPACITY);
    return self;
}

O código acima parece muito comisto um, mas eu recebo um BAD_EXEC_ERROR .. como assim? A razão pela qual eu gostaria de usar um buffer C, em vez de alguns NSMutableData ou o que é b / c Eu tentei usar NSMutableData e eu sinto que está a abrandar o meu aplicativo em tempo real

questionAnswers(1)

yourAnswerToTheQuestion