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