Erstellen und Zuweisen eines C-Puffers als Teil einer objektiven C-Klasse

am besten mit einem beispiel erklären:

in meinem 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;

in AudioItem.m @synthesize data;

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

Der obige Code sieht sehr ähnlich ausdiese eins, aber ich bekomme einen BAD_EXEC_ERROR .. wie kommt es? Der Grund, warum ich einen C-Puffer anstelle von NSMutableData oder was auch immer verwenden möchte Ich habe versucht, NSMutableData zu verwenden, und ich habe das Gefühl, dass es meine Echtzeitanwendung verlangsamt

Antworten auf die Frage(1)

Ihre Antwort auf die Frage