NSvalue NSMutableArray
ancrou
Membre
Bonjour,
Je pensais avoir résolu mon problème et bien non
Ca compile sans warning. et à l'exécution crash.
l'erreur:
Mon code :
i
un problème d'allocation ? un problème de gros débutant ou de gros débile
Je pensais avoir résolu mon problème et bien non
Ca compile sans warning. et à l'exécution crash.
l'erreur:
*** -[NSPlaceholderValue value:withObjCType:]: selector not recognized [self = 0x131c0c0]
Mon code :
i
nt loop =0;<br />UI16_ marqueur;<br />NSMutableArray* listLength = [[[NSMutableArray alloc] init] autorelease];<br />while(loop<nbrLeads){<br /> [data getBytes:&marqueur range:NSMakeRange(index, 2)];<br /> index += 2;<br /> marqueur=NSSwapLittleShortToHost(marqueur);<br /> NSValue *taille = [[[NSValue alloc] value:&marqueur withObjCType: @encode(UI16_)]autorelease];<br /> [listLength addObject:taille]; //ligne de plantage !!!!!!<br /> loop++;<br /> }<br />int end =[[listLength objectAtIndex:loop] intValue];
un problème d'allocation ? un problème de gros débutant ou de gros débile
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[aMutableArray addObject:nil];
Autrement dit, fait un test if(taille==nil) NSLog(@c'est cela qui coince);
+ (NSValue *)value:(const void *)value withObjCType:(const char *)type
est une méthode de classe qui renvoies un objet qui est déjà en autorelease. Elle s'utilise ainsi :
NSValue * taille = [NSValue value:&marqueur withObjCType: @encode(UI16_)];
Donc dans la boucle while, c'est résolu, merci. Pas de Alloc, ni autorelease ...
Mais c'est quand je veux lire la valeur dans mon NSMutableArray que ça merde
erreur:
Essaye ainsi :
unsigned short end; // ce qui correspond à UI16_
[[listLength objectAtIndex:0] getValue:&end];
NSLog(@%hu,end); // le format d'un unsigned short c'est %hu
Number and Value Programming Topics for Cocoa
C'était ça
Merci beaucoup.
Je me noie vite dans toutes ces classes (Object) Cocoa ... (J'ai une formation d'origine Java )
Bon .. rentrez quand même
Ceci dit, ici c'est plutôt du C pur et simple qui était en cause