Je viens de réaliser que j'ai perdu 30 minutes à la recherche dans Xcode NSData référence de classe comment faire en objc (désolé, j'expliquer cela en C comme cela dans la seule langue qui vient sans trop réfléchir):Comment initialiser un NSData afin de stocker MAX_SIZE_BUFFER octets?
#define MAX_SIZE_BUFFER 500
byte *ptr;
ptr = malloc(MAX_SIZE_BUFFER * sizeof(byte));
memset(ptr, 0, MAX_SIZE_BUFFER);
J'ai commencé à coder comme ça, mais jamais trouvé comment init MAX_SIZE_BUFFER et mettre tous les octets à 0 de manière intelligente:
#define MAX_SIZE_BUFFER 500
NSData *ptr
ptr = [[[NSData] alloc] init]; // impossible to specify MAX_SIZE_BUFFER in the allocation.
Ainsi je me suis dit, nous allons utiliser une méthode de classe comme:
+ data
+ dataWithBytes:length:
+ dataWithBytesNoCopy:length:
+ dataWithBytesNoCopy:length:freeWhenDone:
+ dataWithContentsOfFile:
+ dataWithContentsOfFile:options:error:
+ dataWithContentsOfMappedFile:
+ dataWithContentsOfURL:
+ dataWithContentsOfURL:options:error:
+ dataWithData:
mais aucun d'entre eux ne permet de faire le alloc et init init symply.
Par exemple: + dataWithBytes: length: nécessite la création d'un tampon C alternatif et un paramètre de la méthode. Dois-je me considérer comme un idiot ou comme un mauvais programmeur d'objc?
Sérieusement, avez-vous une méthode intelligente et simple?
Apple92