En fait, il faut bien intégrer qu'Obj-C est un langage dynamique (les accès aux variables d'un objet ou même d'une méthode sont ainsi calculés à la volée contrairement à des langage statics comme Java ou C++). Mais du coup, tu ne peux pas toujours dérouler aussi facilement (notamment pour les classes dont tu n'as pas le source) le contenu d'un objet comme tu le ferais avec une instance C++ par exemple. C'est une des spécificités d'Obj-C qui lui confère une grande puissance mais bref on pourra y revenir si tu as des questions.@mala
Par contre sous Xcode, via le débogueur, lorsque j'ouvre mon fichier, le nombre d'octets chargés est le bon (ouf), mais je n'arrive pas à voir en mémoire son contenu. Lorsque je déroule l'objet NSData, il y a un pointeur "isa" et puis c'est tout. Même si je demande à voir le contenu du pointeur, je n'ai pas les bonnes données visiblement. Je ne vois pas où sont stockés les octets lus.
Pour récupérer ton buffer dans ton cas, utilises la méthode "bytes".
Bloc de code:
const char *buf = (const char*)[monObjetNSData bytes];
Tu peux aussi utiliser des méthodes telles que..
Bloc de code:
- (void)getBytes:(void *)buffer range:(NSRange)range
A noter que si tu voulais pouvoir modifier ton buffer (mais je pense pas que ce soit le cas ici), tu te tournerais vers NSMutableData qui dispose d'une méthode "mutableBytes". Laquelle retourne un "void*" (donc modifiable).
Donc pour la parenthèse, en Obj-C on fait toujours la distinction entre objets "en lecture seule" et objets modifiables.
Exemple de classes:
NSString et NSMutableString.
NSArray et NSMutableArray.
NSDictionary et NSMutableDictionary.
etc.
Tout a fait. Le tout est d'intégrer les quelques rudiments qui vont bien pour partir du bon pied et après c'est pas sorcier.Sinon, venant du C/C++/C#, l'Objective-C n'est pas si méchant une fois le nez dedans.
Pour parcourir plus rapidement les classes Obj-C qu'avec l'aide d'xcode, je te conseille l'excellent AppKiDo. Bien sûr au début le problème c'est qu'il faut savoir ce qu'on cherche mais tu verras qu'à l'usage sa présentation hiérarchique des classes et sa recherche rapide sont très pratiques.
Edit: je viens d'y penser mais si tu codes sous PPC, ne pas oublier que la lecture de fichiers binaires peut être impacté par l'architecture processeur (tu avais l'air de sous entendre que ton fichier venait d'un PC si je ne m'abuse). Il peut donc y avoir nécessité de réordonner les octets lus.